Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Сервера под OLAP / 18 сообщений из 18, страница 1 из 1
20.07.2018, 12:25
    #39676810
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Есть NLB кластер из 2 серверов:
сервер1 с 2 процами: https://ark.intel.com/ru/products/52576/Intel-Xeon-Processor-X5690-12M-Cache-3_46-GHz-6_40-GTs-Intel-QPI
сервер2 с 2 процами: https://ark.intel.com/ru/products/64583/Intel-Xeon-Processor-E5-2680-20M-Cache-2_70-GHz-8_00-GTs-Intel-QPI
Вычислительные мощности процов примерно равны, может быть сервер2 даже должен быть чуток мощнее.
Настройки SSAS одинаковые на обоих серверах, настройки винды тоже одинаковы.
Различается только железо (у процов, кстати, разные наборы команд) и версии биоса

MDX запросы к SSAS OLAP на сервер1 выполняются в 1.5 раза быстрее чем на сервер2. Как такое возможно?
Это не случайное совпадение, наблюдаем уже около месяца. Запросы распределяются NLB произвольно. Даже сами выполняли запросы - сервер тормозит. Заметил что когда нагрузка растёт (несколько минут проц на 100% загружен), то сервер1 начинает сильно потреблять оперативу, затем отпускает её по мере спадания нагрузки. Сервер2 оперативу в таком количестве не потреблял, даже почти не затронул её.

Есть идеи что может быть, куда смотреть?
...
Рейтинг: 0 / 0
20.07.2018, 13:11
    #39676852
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Max_11111,

идеи есть: 3,46/2,70 = 1,28 раза
...
Рейтинг: 0 / 0
20.07.2018, 13:20
    #39676856
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Max_11111,

1) запросы состоят из множества этапов каждый из которых это операции разных классов (от чтения дисков, агрегаций, расчёта формул, кэжирования и пр.) некоторые из которых строго однопоточные - выясняй что именно тормозит и от туда уже копай.
2) подозреваю что код ядра SSAS MD особенно не менялся с 2008-го года - это по поводу новых инструкций, но я в этой части архитектуры железа и использования функциональности прог.обеспечением и их влиянием на производительность не дока.
3) Если тормозит именно расчёт формул на лету, то как уже указал ShIgor выше: у тебя явно проц на первом быстрее на 28% хотя и BUS медленнее с кэшем поменьше
4) Смотри скорость памяти (и её обьём) и дисков, что там ещё на сервере крутиться (есть-ли дополнительная нагрузка и резервация памяти), в конце концов настройки самого SSAS Instance (если обьёмы памяти разные)
5) Даже если железо одинаковое - версии CU на SQL Server могут отличаться.

в общем пока только гадание по поводу наиболее вероятных причин.
...
Рейтинг: 0 / 0
20.07.2018, 14:13
    #39676896
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
добавлю насчет кэша..

что его больше, здесь особой роли не играет. т.к. это кэш 3 уровня и является общим для всех ядер.

а вот кэш 2 уровня, которого в общем объеме одинаково, но под каждое ядро свой участок, влияет значительно сильнее, т.к. на первом проце на каждое ядро его тупо на 30% больше да и частота, как я уже и говорил выше.

и еще немного по железу...
хоть вычислительные мощности примерно равны, ничего же не сказано насчет окружения этих мощностей. память, винты, сетевые платы. попробуйте абстрагироваться от SSAS, найдите (напишите сами) какой-нибудь бенчмарк, который протестирует все по отдельности и в совокупности, и только увидев (точнее не увидев) различия можно сказать, что на одном тормозит именно SSAS.
...
Рейтинг: 0 / 0
20.07.2018, 14:53
    #39676945
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
к вышеописанному я бы еще глянул настройки службы, и обратил бы внимание на то, что там есть процентные настройки, то есть если на 1 сервере 512Гб, а на другом 256, то и поведение может быть разным
...
Рейтинг: 0 / 0
23.07.2018, 05:20
    #39677473
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
ShIgorMax_11111,
идеи есть: 3,46/2,70 = 1,28 раза
На нём ядер больше, так что если перемножить частоту на ядра, то выйдет примерно одинаковая величина.
Т.к. SSAS очень хорошо параллелится по ядрам, я предположил что ему относительно пофигу на частоту одного ядра, если их будет куча.

vikkivMax_11111,
1) запросы состоят из множества этапов каждый из которых это операции разных классов (от чтения дисков, агрегаций, расчёта формул, кэжирования и пр.) некоторые из которых строго однопоточные - выясняй что именно тормозит и от туда уже копай.
2) подозреваю что код ядра SSAS MD особенно не менялся с 2008-го года - это по поводу новых инструкций, но я в этой части архитектуры железа и использования функциональности прог.обеспечением и их влиянием на производительность не дока.
3) Если тормозит именно расчёт формул на лету, то как уже указал ShIgor выше: у тебя явно проц на первом быстрее на 28% хотя и BUS медленнее с кэшем поменьше
4) Смотри скорость памяти (и её обьём) и дисков, что там ещё на сервере крутиться (есть-ли дополнительная нагрузка и резервация памяти), в конце концов настройки самого SSAS Instance (если обьёмы памяти разные)
5) Даже если железо одинаковое - версии CU на SQL Server могут отличаться.

в общем пока только гадание по поводу наиболее вероятных причин.
3) да, тормозит расчёт формул
4) настройки и версии SSAS одинаковые, конфиг оборудования гляну. Но я больше на проц грешу, т.к. по монитору ресурсов нагрузка на диски была минимальной, а память не особо юзалась.
5) Да, немного отличаются версии, но по описанию CU были изменения только в SSIS, при этом SSAS не трогался

ShIgorдобавлю насчет кэша..

что его больше, здесь особой роли не играет. т.к. это кэш 3 уровня и является общим для всех ядер.

а вот кэш 2 уровня, которого в общем объеме одинаково, но под каждое ядро свой участок, влияет значительно сильнее, т.к. на первом проце на каждое ядро его тупо на 30% больше да и частота, как я уже и говорил выше.

и еще немного по железу...
хоть вычислительные мощности примерно равны, ничего же не сказано насчет окружения этих мощностей. память, винты, сетевые платы. попробуйте абстрагироваться от SSAS, найдите (напишите сами) какой-нибудь бенчмарк, который протестирует все по отдельности и в совокупности, и только увидев (точнее не увидев) различия можно сказать, что на одном тормозит именно SSAS.
Понял, спасибо
...
Рейтинг: 0 / 0
23.07.2018, 09:18
    #39677514
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Max_11111,

FE, причем в одном запросе, не параллелится вовсе, поэтому чем выше частота тем лучше.

Давай детальное описание по железу.
Проверь в каком режиме настройки электропитания и не только в винде, но и в биосе.
Последний сервак с процами e5-2643 v4 никак не реагировал на настройки в винде, все время "спал по максимуму" пока ему все в биосе не вырубили.
...
Рейтинг: 0 / 0
24.07.2018, 08:35
    #39678046
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Кажется я нашёл причину, только причина этой причины пока мне не понятна.
В общем взяли на пару дней более мощный сервер и я заметил что проц грузится только на 1/3, то есть примерно 24 ядра загружены OLAP, даже если запускаю несколько запросов.
На сервер2 тоже была нагрузка на сервер 75%-80%, что соответствует 24 ядрам SSAS.

Поискав в интернете я не нашёл каких-либо настроек SSAS, указывающих сколько ядер использовать при запросах (есть только ограничение при LazyProcessing, но это явно не то).
Вопрос: где это настраивается? либо же это регулируется лицензией на SQL Server?
...
Рейтинг: 0 / 0
24.07.2018, 10:04
    #39678085
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Max_11111Вопрос: где это настраивается? либо же это регулируется лицензией на SQL Server?
В общем взял у админов более широкую лицензию и задействовал все ядра.
Потестировал на запросах - судя по всему производительность "более мощного сервера" примерно совпадает с производительностью "сервер1", при том что ценник на них разнится на порядки. Похоже что частота ядер больше влияет на скорость выполнения MDX запросов, чем их количество
...
Рейтинг: 0 / 0
24.07.2018, 11:28
    #39678142
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Max_11111,

это очевидно, т.к. формульный движок однопоточный
...
Рейтинг: 0 / 0
24.07.2018, 14:23
    #39678307
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
КритикMax_11111,

это очевидно, т.к. формульный движок однопоточный
Мне это было не очевидно :)
Можно подробнее? что именно однопоточное а SSAS OLAP, а что многопоточное? Если есть, то дайте ссылки на соответствующие статьи
...
Рейтинг: 0 / 0
24.07.2018, 14:24
    #39678309
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Критик,

я уже это сколько раз написал - не верят!
...
Рейтинг: 0 / 0
24.07.2018, 15:39
    #39678369
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
...
Рейтинг: 0 / 0
25.07.2018, 02:51
    #39678655
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
ShIgor,
Критик,

Спасибо, теперь всё стало намного понятней.
Особенно понятно почему остатки товаров так сильно тормозят - там почти весь расчёт на MDX написан.
Тогда такой вопрос: У меня считаются остатки на конкретный день как остаток на начало месяца + сумма движений с начала месяца до этого дня. Если я буду считать не по месяцам, а по неделям (т.е. объём данных для вычисления сократится примерно в 4 раза) - это ускорит расчёты? Я это ещё протестирую, но сейчас интересно чего можно ожидать.
...
Рейтинг: 0 / 0
25.07.2018, 09:54
    #39678738
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
по идее, и так должно быть нормально, если использовали подход с фиктивной мерой и scope-формулой, а не накрутили какую-нибудь рекурсию

у меня в такой схеме остатки считались достаточно быстро на больших объемах,
ну, или у вас объемы изменяются сотнями миллионов строк в месяц
...
Рейтинг: 0 / 0
25.07.2018, 11:09
    #39678793
Max_11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Критикпо идее, и так должно быть нормально, если использовали подход с фиктивной мерой и scope-формулой, а не накрутили какую-нибудь рекурсию
у меня в такой схеме остатки считались достаточно быстро на больших объемах,
ну, или у вас объемы изменяются сотнями миллионов строк в месяц
Нет, всего лишь десятками миллионов, без рекурсий, с фиктивной мерой и scope-формулой.
Остатки ещё ладно, с десяток секунд пользователи, если что, подождут. Основная проблема с вычислением таких мер как "ассортимент", когда остатки считаются в scope по магазинам и дням, и только затем агрегируются выше. Такие запросы выполняются десятки минут, и то с множеством фильтров, усекающих данные. Такие вычисления наврятли получится ускорить
...
Рейтинг: 0 / 0
25.07.2018, 14:08
    #39678930
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
Max_11111,

Подневные остатки на каждый день сделайте в партиционированной (например, по месяцам) таблице в DWH. В партиционированном MOLAP будет летать. Кроме того, таблица остатков очень пригодится для ad Hoc запросов и для других систем-потребителей.
В целях уменьшения объема таблицы в DWH скользящим окном в партициях старых годов можно оставлять записи на последнее / первое число каждого месяца
...
Рейтинг: 0 / 0
25.07.2018, 14:39
    #39678952
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сервера под OLAP
согласен,
динамическими вычислениями над вычислениями лучше не увлекаться,
лучше витрину сделать в базе
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Сервера под OLAP / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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