Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тестирование Select Insert / 25 сообщений из 41, страница 1 из 2
06.12.2021, 10:50
    #40117674
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Добрый день.

Имею 2 одинаковых сервера MS SQL(проц, оператива, жесткие диски).
Имею 2 одинаковые базы на двух серверах.
Одни и те же запросы Select Insert Выполняются по разному. Разница во времени примерно отличается в 100 раз.
на одном Select выполняется 0,15 с. на другом 0,00001 с.
На одном Insert выполняется 1,5с на другом 0,015

Поможете найти причину ?
Может есть какие-нибудь тестовые скрипты на селект и инсерт для базы данных MS sql ?
...
Рейтинг: 0 / 0
06.12.2021, 11:09
    #40117681
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx, попробуйте обновить сатиcтику на втором сервере
Код: sql
1.
exec sp_updatestats
...
Рейтинг: 0 / 0
06.12.2021, 11:11
    #40117682
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса.
...
Рейтинг: 0 / 0
06.12.2021, 11:15
    #40117685
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
SQL2008
mariarx, попробуйте обновить сатиcтику на втором сервере
Код: sql
1.
exec sp_updatestats



Обслуживание БД происходит в штатном режиме каждую ночь.
...
Рейтинг: 0 / 0
06.12.2021, 11:17
    #40117686
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Владислав Колосов
mariarx,

сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса.



Владислав, как раз таки так и выяснил, что обе операции происходят медленнее. А вот планы запроса надо будет сравнить. Займусь пожалуй этим сейчас.
...
Рейтинг: 0 / 0
06.12.2021, 11:29
    #40117690
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx
Владислав Колосов
mariarx,

сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса.



Владислав, как раз таки так и выяснил, что обе операции происходят медленнее. А вот планы запроса надо будет сравнить. Займусь пожалуй этим сейчас.
...
Рейтинг: 0 / 0
06.12.2021, 11:51
    #40117699
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

Если select работает медленно, то select - insert также будет работать медленно.
...
Рейтинг: 0 / 0
06.12.2021, 12:36
    #40117720
ozhnw
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Всем привет
...
Рейтинг: 0 / 0
06.12.2021, 13:06
    #40117735
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx
Владислав Колосов
mariarx,

сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса.



Владислав, как раз таки так и выяснил, что обе операции происходят медленнее. А вот планы запроса надо будет сравнить. Займусь пожалуй этим сейчас.


структура, процент выполнения плана запросов везде одинаковая.
...
Рейтинг: 0 / 0
06.12.2021, 13:58
    #40117758
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
выполнил тесты по Insert случайных данных в таблицу на обоих SQL серверах. Результат оказалась противоположной. В 2 раза быстрее выполнился Insert в той базе данных, которая при работе с приложением выдавала более медленные результаты.

Сервера идентичны. СОфт идентичен. настройки индентичны.

Совсем крыша поехала.
...
Рейтинг: 0 / 0
06.12.2021, 14:07
    #40117772
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx
Сервера идентичны. СОфт идентичен. настройки индентичны.
Если все идентично, то и результаты должны быть сравнимы. Чудес не бывает.

В корневом элементе актуального плана есть тайминги по выполнению и ожиданиям. Сравните их.
...
Рейтинг: 0 / 0
06.12.2021, 14:29
    #40117786
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
invm
mariarx
Сервера идентичны. СОфт идентичен. настройки индентичны.
Если все идентично, то и результаты должны быть сравнимы. Чудес не бывает.

В корневом элементе актуального плана есть тайминги по выполнению и ожиданиям. Сравните их.


Актуальный план в каком-то другом месте лежит ?
то, что я вижу в sql profiler
...
Рейтинг: 0 / 0
06.12.2021, 14:30
    #40117787
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx
invm
пропущено...
Если все идентично, то и результаты должны быть сравнимы. Чудес не бывает.

В корневом элементе актуального плана есть тайминги по выполнению и ожиданиям. Сравните их.


Актуальный план в каком-то другом месте лежит ?
то, что я вижу в sql profiler


https://ibb.co/PGYL4jY
...
Рейтинг: 0 / 0
06.12.2021, 14:37
    #40117790
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx
mariarx
пропущено...


Актуальный план в каком-то другом месте лежит ?
то, что я вижу в sql profiler


https://ibb.co/PGYL4jY
...
Рейтинг: 0 / 0
06.12.2021, 15:31
    #40117810
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

Можно и из профайлера брать.
Версия сервера?
...
Рейтинг: 0 / 0
06.12.2021, 15:36
    #40117814
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
invm,

2012
...
Рейтинг: 0 / 0
06.12.2021, 15:54
    #40117817
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

Select @@version

Там и та
...
Рейтинг: 0 / 0
06.12.2021, 16:00
    #40117824
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Критик
mariarx,

Select @@version

Там и та


Microsoft SQL Server 2012 (SP4-GDR) (KB4057116) - 11.0.7462.6 (X64)
Jan 5 2018 22:11:56
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: )


Microsoft SQL Server 2012 (SP4-GDR) (KB4583465) - 11.0.7507.2 (X64)
Nov 1 2020 00:48:37
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 14393: )
...
Рейтинг: 0 / 0
07.12.2021, 08:58
    #40117983
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx
mariarx
пропущено...


https://ibb.co/PGYL4jY


а где же эти таинственные селекты и инсерты?
...
Рейтинг: 0 / 0
07.12.2021, 10:27
    #40118006
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Ролг Хупин
mariarx
пропущено...


а где же эти таинственные селекты и инсерты?


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
15:29.419048-3,SDBL,4,process=rphost,p:processName=Кис_ЛЗ_Петров_ТЕСТ,OSThread=18492,t:clientID=93593,t:applicationName=1CV8,t:computerName=dh-term-dev,t:connectID=182268,SessionID=7,Usr=Петров,DBMS=DBMSSQL,DataBase=nerl\dhdev01\Кис_ЛЗ_Петров_ТЕСТ,Trans=1,Func=insertRecords,tableName=InfoRg25579,Sdbl='
INSERT InfoRg25579 (Fld25592,Fld25580,Fld25596,Fld28812,Fld28813,Fld28814,Fld25597,Fld28815,Fld28816,Fld28817,Fld28818,Fld28819,Fld28820,Fld28821,Fld28823,Fld28824,Fld28825,Fld28989,Fld28826,Fld28787,Fld28785,Fld31870,Fld28786,Fld28788,Fld28789,Fld28790,Fld28791,Fld28990,Fld29019,Fld29833,Fld30342,Fld31737,Fld31871,Fld33873,SimpleKey)
VALUES(
(24632:AFA100237DE1E64C11E045B0A12856D7,346:A9EA9C8E9926879511E1457DF44B5DF9,1000,153:BC669C8E9926879511E111D29920B7E0,24636:A9EA9C8E9926879511E14592396431BA,215:A9EA9C8E9926879511E14AF0F073D4A0,11,DATETIME(2012,2,4,0,0,0),DATETIME(2012,1,30,0,0,0),TRUE,25202:BE1E5A05110AC3BD4D33EC19D784EA62,DATETIME(2021,12,1,11,15,29),DATETIME(1,1,1,0,0,0),39,343:00000000000000000000000000000000,"",0,123:00000000000000000000000000000000,346:A9EA9C8E9926879511E1457DF44B5DF9,0,0,0,0,0,0,0,0,FALSE,0,0,FALSE,FALSE,DATETIME(1,1,1,0,0,0),FALSE,0x549C3A1786B97948973D36A947137BBB))
',Rows=1,Context='
ОбщийМодуль.КМК_МодульДляДоработокСервер.Модуль : 144 : КМК_МодульПроизводства.ПерерасчетОПП();
	ОбщийМодуль.КМК_МодульПроизводства.Модуль : 1399 : ПерерасчетОППпоЗаводу(тзПремикс,Дата1,чВерсияРасчета);
		ОбщийМодуль.КМК_МодульПроизводства.Модуль : 1437 : ЗафиксироватьСведенияРасчетаОПП(тзСведенияРасчетаОПП);
			ОбщийМодуль.КМК_МодульПроизводства.Модуль : 5896 : ОбновитьДанныеОПП(тзСведенияРасчетаОПП);
				ОбщийМодуль.КМК_МодульПроизводства.Модуль : 2082 : НаборЗаписей.Записать();' 




На "быстрой машине" - выполняется 3 микросекунды.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 45:34.654358-154367,SDBL,4,process=rphost,p:processName=Кис_ЛЗ_Петров_ТЕСТ,OSThread=18492,t:clientID=93593,t:applicationName=1CV8,t:computerName=dh-term-dev,t:connectID=182268,SessionID=7,Usr=Петров,DBMS=DBMSSQL,DataBase=nerl\dhdev01\Кис_ЛЗ_Петров_ТЕСТ,Trans=1,Func=insertRecords,tableName=InfoRg25579,Sdbl='
INSERT InfoRg25579 (Fld25592,Fld25580,Fld25596,Fld28812,Fld28813,Fld28814,Fld25597,Fld28815,Fld28816,Fld28817,Fld28818,Fld28819,Fld28820,Fld28821,Fld28823,Fld28824,Fld28825,Fld28989,Fld28826,Fld28787,Fld28785,Fld31870,Fld28786,Fld28788,Fld28789,Fld28790,Fld28791,Fld28990,Fld29019,Fld29833,Fld30342,Fld31737,Fld31871,Fld33873,SimpleKey)
VALUES(
(24632:AFA100237DE1E64C11E045B0A12856D7,346:A9EA9C8E9926879511E1457DF44B5DF9,1000,153:BC669C8E9926879511E111D29920B7E0,24636:A9EA9C8E9926879511E14592396431BA,215:A9EA9C8E9926879511E14AF0F073D4A0,11,DATETIME(2012,2,4,0,0,0),DATETIME(2012,1,30,0,0,0),TRUE,25202:BE1E5A05110AC3BD4D33EC19D784EA62,DATETIME(2021,12,1,11,15,29),DATETIME(1,1,1,0,0,0),39,343:00000000000000000000000000000000,"",0,123:00000000000000000000000000000000,346:A9EA9C8E9926879511E1457DF44B5DF9,0,0,0,0,0,0,0,0,FALSE,0,0,FALSE,FALSE,DATETIME(1,1,1,0,0,0),FALSE,0x549C3A1786B97948973D36A947137BBB))
',Rows=1,Context='
ОбщийМодуль.КМК_МодульДляДоработокСервер.Модуль : 144 : КМК_МодульПроизводства.ПерерасчетОПП();
	ОбщийМодуль.КМК_МодульПроизводства.Модуль : 1399 : ПерерасчетОППпоЗаводу(тзПремикс,Дата1,чВерсияРасчета);
		ОбщийМодуль.КМК_МодульПроизводства.Модуль : 1437 : ЗафиксироватьСведенияРасчетаОПП(тзСведенияРасчетаОПП);
			ОбщийМодуль.КМК_МодульПроизводства.Модуль : 5896 : ОбновитьДанныеОПП(тзСведенияРасчетаОПП);
				ОбщийМодуль.КМК_МодульПроизводства.Модуль : 2082 : НаборЗаписей.Записать();'



Идентичный инсерт выполняется в 50 раз дольше 154367 микросекунд.


тестовый инсерт

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
 Declare @i int;
Set @i = 1
While @i < 100000
Begin 
Insert Into Table_1 (Field1, Field2)
values (RAND(), RAND())
SET @i = @i+1
END



там где 154367 микросекунд - выполняется за 21 секунду 100 тысяч данных вносит
там где 3 микросекунды - выполняется за 43 секунды 100 тысяч данных вносит


Таких инсертов в минуту выполняется около 2 тысяч. и задержки получаются вместо 70 секунд выполнения - 120секунд. примерно такие задержки происходят.
...
Рейтинг: 0 / 0
07.12.2021, 11:50
    #40118042
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

Перед началом теста запретите доступ всех пользователей в базу или к таблице, кроме тестового. Выполните запрос вставки непосредственно на хосте сервера для исключения влияние сети.
...
Рейтинг: 0 / 0
07.12.2021, 12:15
    #40118056
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Владислав Колосов
mariarx,

Перед началом теста запретите доступ всех пользователей в базу или к таблице, кроме тестового. Выполните запрос вставки непосредственно на хосте сервера для исключения влияние сети.


делали. в базе нет никого. тестовые отдельно разворачивали.
Даже снимал показатели производительности :
Page life Expectancy
Page read/write
latches
locks
plan cache
phisical disk
processor
memory

Не было нигде просадок или изменений в нагрузке.
...
Рейтинг: 0 / 0
07.12.2021, 12:18
    #40118058
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

запустите на час, какие-то метрики будут отличаться.

Версии приложения могут отличаться, если единичные вставки происходят в общей транзакции, то они могут выполняться быстрее.
...
Рейтинг: 0 / 0
07.12.2021, 12:33
    #40118067
mariarx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
Владислав Колосов
mariarx,

запустите на час, какие-то метрики будут отличаться.

Версии приложения могут отличаться, если единичные вставки происходят в общей транзакции, то они могут выполняться быстрее.


Метрики снимаются круглые сутки.
в том то и дело, одна и та же команда(расчет очереди Пр-ва), одна и та же база(копия на 1 сервере и на 2ом сервере). Через технологический журнал(ТЖ) событий получаем разницу только в INSERT и SELECT. Далее меняем местоположение базы данных с диска 15к SAS перешел на NVME диски , либо на полку по сети. результаты не меняются. Тестов было сделано вагон и маленькая тележка(2 недели).
когда подключаешь ТЖ или sql profiler, то задержки общее время выполнения увеличивается, но процентное соотношение остается одинаковым( около 200 секунд против 300). Но самое интересное, что обычный инсерт показывает противоположные значения. Может я что-то упускаю из настроек или мониторинга. может что-то включить в мониторинг надо еще.

Разница в ОС 2016 и 2012. и разница в версии sql. но тогда бы и обычный инсерт вставлялся дольше, но он выполняется быстрее.
...
Рейтинг: 0 / 0
07.12.2021, 13:05
    #40118085
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Select Insert
mariarx,

вы же метрики снимаете при одновременной работе сеансов, которые выполняют вставку в эту таблицу. Если у вас перекос количества, то получите задержки.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тестирование Select Insert / 25 сообщений из 41, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]