Цитата:
Сообщение от
SergeyT
В данном материале приводится следующая рекомендация: "Max Server memory should be calculated as followsExample:Max Server Memory should be set at 120.3 GB". По-моему, данная оценка размера Server Memory является все же завышенной.
Для большинства внедрений она заниженная
Цитата:
Сообщение от
SergeyT
В свое время на конференции SQL Saturday года два назад по результатам опроса аудитории слушателей одного из докладов была получена следующая статистика: основная часть приложений в компаниях работает на 8-16 ядрах, (примерно 40-50% опрашиваемых), чуть менее - на 32 ядрах (примерно 20-30 % опрашиваемых), некоторые компании работают с приложениями на 64 ядрах. И единицы из числа опрашиваемых работали на 128 ядрах, и также единицы - на 4 ядрах процессоров на SQL-серверах. Приложения разные - от 1С в распределенной архитектуре, до других ERP-систем.
У меня вот SQLlite в приложении для личных финансов на телефоне работает на 2-х ядрах - это можно включить в вашу статистику?..
Цитата:
Сообщение от
SergeyT
А вот какое оптимальное число ядер SQL-сервера необходимо для работы DAX 2012?
Нет оптимального единого для всех количества ядер, равно как и нет оптимального единого для всех размера памяти для СУБД, есть требования и ограничения каждого отдельного внедрения и методологии расчета оборудования под эти требования и ограничения.
Обычно нагрузка на систему измеряется в строках документов в час (количество интерактивных пользователей AX для СУБД не важно), соотв., есть требования бизнеса, бюджетные ограничения и опыт вендора, подкрепленный многочисленными тестами производительности. Исходя из них можно выделить такие требования, ограничения и особенности:
- инсталляция должна обеспечить обработку такого-то числа строк документов в час, рассчитанного для данного конкретного внедрения, с учетом пиковых нагрузок
- 1 среднее по больнице ядро СУБД может обработать около 15000 строк документов в час, согласно тестам производительности и основанным на них рекомендациям вендора. В тестах обычно фигурируют некие Xeon 2.4-2.67 ГГц, реже Opteron'ы. Рекомендации про 15000 строк на ядро отражены в Dynamics AX2012 Infrastructure Design Workshop.
- обработка 1-й строки реального документа в системе (журнал ГК, складской журнал, заказ на продажу, производственный заказ, документ AIF, etc) дает разную нагрузку на СУБД, поэтому при расчете строк документов в час, используемых для оценки нагрузки в целом, строки реальных документов берутся с разными весовыми коэффициентами и затем суммируются
- в последних тестах производительности вендор также стал прибавлять к числу строк документов в час шапки реальных документов
- в реальной системе оценочное число ядер СУБД может быстро превысить лимит SQL Server Standard, получится, что нужна Enterprise-редакция, при этом обычно для АХ используют процессорные лицензии на СУБД, а не CAL. Процессорные лицензии на SQL Server Enterprise стоят очень дорого, поэтому тупо брать число строк документов, делить на 15000 и заказывать сервер БД с получившимся числом ядер может быть слишком накладно с т.з лицензий.
- процессоры очень сильно отличаются по производительности на одно ядро. К примеру, какой-нибудь 4-хъядерный Xeon на 3.7 ГГц может быть более чем вдвое быстрее в расчете на ядро, чем 8-ядерный Xeon на 2.0 ГГц. Т.е. он может обработать такое же число строк документов в час при вдвое меньших затратах на процессорные лицензии SQL Server, так что при прочих равных может быть выгодно взять более шустрые процессоры с меньшим числом ядер.
- в зависимости от требований по HA&DR может потребоваться иметь кластер из нескольких серверов БД, так что выбор процессоров может влиять на стоимость лицензий СУБД с мультипликатором 2 и более
Это лишь основные соображения по оценке количества ядер процессора SQL-сервера для "оптимальной" работы AX 2012...