|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Добрый день. Имею 2 одинаковых сервера MS SQL(проц, оператива, жесткие диски). Имею 2 одинаковые базы на двух серверах. Одни и те же запросы Select Insert Выполняются по разному. Разница во времени примерно отличается в 100 раз. на одном Select выполняется 0,15 с. на другом 0,00001 с. На одном Insert выполняется 1,5с на другом 0,015 Поможете найти причину ? Может есть какие-нибудь тестовые скрипты на селект и инсерт для базы данных MS sql ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 10:50 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, попробуйте обновить сатиcтику на втором сервере Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 11:09 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 11:11 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
SQL2008 mariarx, попробуйте обновить сатиcтику на втором сервере Код: sql 1.
Обслуживание БД происходит в штатном режиме каждую ночь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 11:15 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Владислав Колосов mariarx, сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса. Владислав, как раз таки так и выяснил, что обе операции происходят медленнее. А вот планы запроса надо будет сравнить. Займусь пожалуй этим сейчас. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 11:17 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx Владислав Колосов mariarx, сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса. Владислав, как раз таки так и выяснил, что обе операции происходят медленнее. А вот планы запроса надо будет сравнить. Займусь пожалуй этим сейчас. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 11:29 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, Если select работает медленно, то select - insert также будет работать медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 11:51 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Всем привет ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 12:36 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx Владислав Колосов mariarx, сравните нагрузки, выясните - select медленно работает или insert, начините со сверки фактических планов запроса. Владислав, как раз таки так и выяснил, что обе операции происходят медленнее. А вот планы запроса надо будет сравнить. Займусь пожалуй этим сейчас. структура, процент выполнения плана запросов везде одинаковая. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 13:06 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
выполнил тесты по Insert случайных данных в таблицу на обоих SQL серверах. Результат оказалась противоположной. В 2 раза быстрее выполнился Insert в той базе данных, которая при работе с приложением выдавала более медленные результаты. Сервера идентичны. СОфт идентичен. настройки индентичны. Совсем крыша поехала. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 13:58 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx Сервера идентичны. СОфт идентичен. настройки индентичны. В корневом элементе актуального плана есть тайминги по выполнению и ожиданиям. Сравните их. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 14:07 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
invm mariarx Сервера идентичны. СОфт идентичен. настройки индентичны. В корневом элементе актуального плана есть тайминги по выполнению и ожиданиям. Сравните их. Актуальный план в каком-то другом месте лежит ? то, что я вижу в sql profiler ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 14:29 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 14:30 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 14:37 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, Можно и из профайлера брать. Версия сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 15:31 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
invm, 2012 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 15:36 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, Select @@version Там и та ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 15:54 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Критик 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: ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 16:00 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Ролг Хупин mariarx пропущено... а где же эти таинственные селекты и инсерты? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
На "быстрой машине" - выполняется 3 микросекунды. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Идентичный инсерт выполняется в 50 раз дольше 154367 микросекунд. тестовый инсерт Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
там где 154367 микросекунд - выполняется за 21 секунду 100 тысяч данных вносит там где 3 микросекунды - выполняется за 43 секунды 100 тысяч данных вносит Таких инсертов в минуту выполняется около 2 тысяч. и задержки получаются вместо 70 секунд выполнения - 120секунд. примерно такие задержки происходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 10:27 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, Перед началом теста запретите доступ всех пользователей в базу или к таблице, кроме тестового. Выполните запрос вставки непосредственно на хосте сервера для исключения влияние сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:50 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Владислав Колосов mariarx, Перед началом теста запретите доступ всех пользователей в базу или к таблице, кроме тестового. Выполните запрос вставки непосредственно на хосте сервера для исключения влияние сети. делали. в базе нет никого. тестовые отдельно разворачивали. Даже снимал показатели производительности : Page life Expectancy Page read/write latches locks plan cache phisical disk processor memory Не было нигде просадок или изменений в нагрузке. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:15 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, запустите на час, какие-то метрики будут отличаться. Версии приложения могут отличаться, если единичные вставки происходят в общей транзакции, то они могут выполняться быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:18 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
Владислав Колосов mariarx, запустите на час, какие-то метрики будут отличаться. Версии приложения могут отличаться, если единичные вставки происходят в общей транзакции, то они могут выполняться быстрее. Метрики снимаются круглые сутки. в том то и дело, одна и та же команда(расчет очереди Пр-ва), одна и та же база(копия на 1 сервере и на 2ом сервере). Через технологический журнал(ТЖ) событий получаем разницу только в INSERT и SELECT. Далее меняем местоположение базы данных с диска 15к SAS перешел на NVME диски , либо на полку по сети. результаты не меняются. Тестов было сделано вагон и маленькая тележка(2 недели). когда подключаешь ТЖ или sql profiler, то задержки общее время выполнения увеличивается, но процентное соотношение остается одинаковым( около 200 секунд против 300). Но самое интересное, что обычный инсерт показывает противоположные значения. Может я что-то упускаю из настроек или мониторинга. может что-то включить в мониторинг надо еще. Разница в ОС 2016 и 2012. и разница в версии sql. но тогда бы и обычный инсерт вставлялся дольше, но он выполняется быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:33 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, вы же метрики снимаете при одновременной работе сеансов, которые выполняют вставку в эту таблицу. Если у вас перекос количества, то получите задержки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 13:05 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx Критик 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: ) Тредстартерша нагло врет. И MS SQL разный и ОСь разная. ЗЫ. Не удивлюсь, если один из серверов виртуальный. Скорее всего и диски криво подключены. Она ж, даже, очередь не смотрела... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:00 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
aleks222 Тредстартерша нагло врет. mariarx пишет о себе в мужском роде ) и, судя по @@version, сервера физические ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:14 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, инсерты в таблицу InfoRg25579 : набор индексов у таблицы на обоих серверах одинаков? тестовый инсерт: в какой базе был запущен? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:25 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
aleks222 mariarx пропущено... 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: ) Тредстартерша нагло врет. И MS SQL разный и ОСь разная. ЗЫ. Не удивлюсь, если один из серверов виртуальный. Скорее всего и диски криво подключены. Она ж, даже, очередь не смотрела... Да пусть будет разное все. Тогда бы все операции одного типа выполнянлись одинаково относительно друг друга. Но тут то ситуация совсем тупиковая. разные INSERT выполняются по разному в плане скорости. Про диски уже писал. есть рейд 5. на обоих серверах. есть SSD и NVME на каждом для быстрых операций. есть полка, которая по ISCS подключается к серверам к обоим. Есть луны и волюмы, на которых крутятся сами базы по 10ГБ сетке. на всех вариантах жестких дисков результаты одинаковы. 1 сервер тупее второго. Но когда выполняешь обычный инсерт из консоли MSSQL, то результат меняется. тот, что тупее был, становится в фаворе в 2 раза быстрее. Где-то что-то упустил, и пока не могу понять где. Хотя бы логическое объяснение найти данному наблюдению. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:25 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
komrad mariarx, инсерты в таблицу InfoRg25579 : набор индексов у таблицы на обоих серверах одинаков? тестовый инсерт: в какой базе был запущен? Я беру рабочую базу(каждый день обновление индексов и статистик) копирую ее на 1 сервер и а второй копию делаю. Отключаю все соединения, кроме себя. Запускаю тесты. результат известен. Для тестовго инсерта создаю голую новую БД на обоих серверах. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:26 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, ищите триггеры, ограничения, вычисляемые поля и так далее. Если скорость зависит от сеанса, сравнивайте настройки сеансов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:42 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, Если у вас идеальный стенд, где никто, кроме вас, не работает - посмотрите статистику по ожиданиям. Запросите такую статистику до и после запроса и смотрите, что поменялось (она считается накопительно, с момента старта сервера). Сам скрипт, например, здесь: https://habr.com/en/post/216309/ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:47 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
0wl mariarx, Если у вас идеальный стенд, где никто, кроме вас, не работает - посмотрите статистику по ожиданиям. Запросите такую статистику до и после запроса и смотрите, что поменялось (она считается накопительно, с момента старта сервера). Сам скрипт, например, здесь: https://habr.com/en/post/216309/ Полезнее повыть на луну. 1. Если Планы одинаковы. 2. Если статистика IO запросов одинакова. 3. Кривизна в железе сервера и голове страдалицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:12 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
aleks222 Полезнее повыть на луну. 1. Если Планы одинаковы. 2. Если статистика IO запросов одинакова. 3. Кривизна в железе сервера и голове страдалицы. Согласен, можно повыть на луну, можно посмотреть в хрустальный шар, можно ещё разложить карты таро: ведь именно там будет видна «кривизна железа». Никакие SOS_SCHEDULER_YIELD и PAGEIOLATCH ничего о железе, конечно же, не расскажут. Я бы не советовал эти сложные манипуляции со скриптами, если бы это был SQL Server 2016+, там нужная статистика уже в actual плане содержится. Но в 2012 придётся во вьюхи смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:29 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
komrad aleks222 Тредстартерша нагло врет. mariarx пишет о себе в мужском роде ) и, судя по @@version, сервера физические по @@version физика или виртуалка не определить ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:06 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
andy st komrad пропущено... mariarx пишет о себе в мужском роде ) и, судя по @@version, сервера физические по @@version физика или виртуалка не определить напримерMicrosoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64) Nov 2 2020 18:35:09 Copyright (C) 2019 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:16 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
mariarx, Вы там определитесь, с чем надо разобраться. Запросто причина того, что тестовые insert-ы работают быстрее на одном, чем на другом будет совершенно отличной от той, что приводит к тормозам наоборот на боевых задачах. cpu, память, affinity mask, настройки интерфейсов подключения хранилища - всё идентично с точностью до 8 знака после ","? настройки винды в плане фиксации страниц в памяти в мгновенного выделения дискового пространства (и может еще чего) тоже идентичны? антивирусы, софтины мониторинга и прочая дичь, не относящаяся к mssql на серверах тоже идентичны и идентично настроены и идентично гадят? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:18 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
komrad andy st пропущено... по @@version физика или виртуалка не определить напримерMicrosoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64) Nov 2 2020 18:35:09 Copyright (C) 2019 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor) снял с рабочего компа, на котором стоит несколько инстансов mssql без какой-либо виртуализации авторMicrosoft SQL Server 2017 (RTM-GDR) (KB4583456) - 14.0.2037.2 (X64) Nov 2 2020 19:19:59 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 19043: ) (Hypervisor) куды бечь? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:20 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
ясно но логика такова, что если нет Hypervisor, то физика на VM же не отключить гипервизор, полагаю ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:40 |
|
Тестирование Select Insert
|
|||
---|---|---|---|
#18+
komrad ясно но логика такова, что если нет Hypervisor, то физика на VM же не отключить гипервизор, полагаю да, наверное пробежался по доступным серверам с select @@version только одна виртуалка на win2003 и Mssql 2008R2 не дописала "Hypervisor" может антиквариат в такое не умеет, а может чтото одмины мутили ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:56 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1684034]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 235ms |
total: | 401ms |
0 / 0 |