Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Время выполнения запроса  [new]
mgkmgk
Member

Откуда:
Сообщений: 3
Доброго дня!

Есть проблема, на одной базе при выполнение одного и того же запроса на разных системах, время выполнения запроса сильно
разнится.
Подробнее: в продакшне есть 3 сервера разных поколений от HP g7 до G9 специфику писать не буду, везде 2 проца по 6-12 ядер, памяти по 64-128 Гб, нагрузка не большая, и есть ноут i7 8ГБ на котором запрос выполняется за 1-3 секунды, на серверах же мы добились минимум 11-13 секунд, т.е. в 4 раза мадленее, обычно запрос идет по 30сек-1мин+.

Танцы с бубнами: перенос базы по серверам, установка сиквела на железо из в вирт среды, отключение полностью нагрузки на серверах, установка на ssd в рейд0, не дает результата близкого к 1-3 секундам.

Вопрос, почему i7 с меньшим количеством ядер и меньшей оперативной памятью выдает минимальное время выполнения запроса ?
13 авг 19, 11:07    [21947819]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Во-первых дело может быть не только в процах, а в операциях ввода вывода, т.е. "харды могут тупить".

Во-вторых, в рамках смелого эксперимента, попробуйте хинтовать запрос
OPTION (MAXDOP 1)
13 авг 19, 11:31    [21947850]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
И на самом деле, без детального анализа "тупящего" плана запроса, никаких четких советов давать нельзя.
13 авг 19, 11:46    [21947869]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
andy st
Member

Откуда:
Сообщений: 737
mgkmgk
Вопрос, почему i7 с меньшим количеством ядер и меньшей оперативной памятью выдает минимальное время выполнения запроса ?

для одного пользователя частота процессора рулит
13 авг 19, 11:58    [21947890]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
mgkmgk
Member

Откуда:
Сообщений: 3
Харды не тупят, ставили на ssd диски, очередей никаких нет.
По плану запроса, почему он тупящий, если на ноуте он пролетает за секунды, думаю дело не в нем, может как то влиять многоядерность xeon-ов ? Пробовали даже tempdb в рамдиск пихать, все равно больше 10 секунд выходит.
13 авг 19, 11:59    [21947894]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6626
mgkmgk,

формируются разные планы запросов для разных систем, никакой мистики.
13 авг 19, 12:27    [21947942]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
invm
Member

Откуда: Москва
Сообщений: 8713
mgkmgk,

Хотите содержательных ответов - выкладывайте актуальные планы обоих запросов в формате sqlplan
13 авг 19, 12:39    [21947965]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2199
mgkmgk,

да все просто.. любой стандартный двухпроцовый сервер начальной конфигурации с настройками от ХП (g7-g9) это не выше 2,0 - 2,4 GHz на ядро, с включенными технологиями энергосбережения, медленной (относительно) памятью и т.п. - я называю их "задушенными" (а если еще на них и виртуалки с дефолтными настройками, все - туши свет!), а любой i7 это минимум 3,5 GHz c памятью с хорошей пропускной способностью - вот вам и ответ - 2х кратный прирост производительности только за счет частоты!!! еще 2х кратный прирост будет обеспечен наличием меньшего количества ядер и задержек при переключении задач (ребят, это из опыта как подобного рода сервера настраивают, поверьте, в основной массе - никак).

для примера, есть 2 сервера двухпроцовые, e5-2630v1 и е5-2643v4 - остальная конфигурация одинакова, запрос не сколько тяжелый, сколько объемный, взят из обработки SSAS куба (SSAS в этом примере не участвует и не запущен). настройки SQL одинаковые, памяти выделено одинаково по 128Gb. на первом 40 минут, на втором чуть больше 20 минут разница у процов только частоте 2.3GHz против 3.4GHz и памяти DDR3-1600MHz и DDR4-2667MHz

НО! обоих их делает обычный комп со стареньким i7-3930К 3.8GHz c 32Gb DDR3-1866MHz - 18 минут. Если я ему задавлю турбо буст, включу экономию энергии в винде он все-равно обойдет 2630, но 2643-му все-таки проиграет.

вот и делайте выводы.
в пути едет HP g10 c голдовыми 6244 у которых 3,6 в базе и 4,4 в ТБ с памятью DDR4-2993, вот и посмотрим на что они способны в такойже ситуации.
13 авг 19, 13:23    [21948034]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
mgkmgk
Member

Откуда:
Сообщений: 3
ShIgor
mgkmgk,

да все просто.. любой стандартный двухпроцовый сервер начальной конфигурации с настройками от ХП (g7-g9) это не выше 2,0 - 2,4 GHz на ядро, с включенными технологиями энергосбережения, медленной (относительно) памятью и т.п. - я называю их "задушенными" (а если еще на них и виртуалки с дефолтными настройками, все - туши свет!), а любой i7 это минимум 3,5 GHz c памятью с хорошей пропускной способностью - вот вам и ответ - 2х кратный прирост производительности только за счет частоты!!! еще 2х кратный прирост будет обеспечен наличием меньшего количества ядер и задержек при переключении задач (ребят, это из опыта как подобного рода сервера настраивают, поверьте, в основной массе - никак).
.


На одном сервере DL360p Gen8 стоит 2хE5-2690 - 2.9-3.8Ггц в бусте, питание настроено на хай-перфоманс, не думаю, что это ниже core i7 - не помню точную модель, памать ddr 3 в двуканальном режиме в обоих случаях, возможно на i7 немного выше частота памяти.
13 авг 19, 15:01    [21948193]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Ограничить выделение процессоров на запрос попробовали?
13 авг 19, 15:10    [21948206]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2199
mgkmgk,

mgkmgk,

3.8Ггц в бусте, питание настроено на хай-перфоманс


запусти TaskManager, вкладка Performance, CPU (логические процессоры) если в моменты нагрузки
Скорость выше чем Максимальная скорость, то ТурбоБуст работает, причем обычная виндовая настройка электропитания на хай-перформанс на него не влияет, если настройки в биосе не те.

Скрины с 2х серваков. на первом ТБ работает, на втором нет, но настройки электропитания - хай!

К сообщению приложен файл. Размер - 94Kb
13 авг 19, 15:53    [21948268]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запроса  [new]
andy st
Member

Откуда:
Сообщений: 737
mgkmgk
На одном сервере DL360p Gen8 стоит 2хE5-2690 - 2.9-3.8Ггц в бусте, питание настроено на хай-перфоманс, не думаю, что это ниже core i7 - не помню точную модель, памать ddr 3 в двуканальном режиме в обоих случаях, возможно на i7 немного выше частота памяти.

При наличии двух железок и готового теста делать какие-то не факт, что соответствующие действительности предположения...
13 авг 19, 16:57    [21948370]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить