Сайзинг оборудования

Denis
Дата: 09.06.2011 12:03:13
Всем доброго времени суток!

Как-то на Microsoft видел документ с рекомендациями по расчету сервера для MSSQL (по-моему для 2003, точно не помню).

Там были примерно такие рекомендации:
- одно процессорное ядро на 20 активных процессов
- объем оперативной памяти 10% от размера БД

Сейчас излазил весь инет не могу найти подобного документа.
Может у кого он сохранился или ссылочка есть? Поделитесь плиз.
Желательно для последней версии MSSQL, но если есть для любой другой все равно пойдет.

p.s. Если есть подобные документы не от Microsoft, а от производителей прикладных систем (типа SAP, 1C) тоже сгодится.
Также рад буду услышать личные мнения опытных людей. Чем больше информации тем лучше :)

Заранее благодарен!

Удачи, Денис
Гавриленко Сергей Алексеевич
Дата: 09.06.2011 13:37:42
Такие рекомендации должны быть скорее от вендоров ПО, чем от microsoft.
Александр Гладченко
Дата: 09.06.2011 13:47:10
Denis
Дата: 09.06.2011 15:14:01
2Александр

Нет, то был именно документ с рекомендациями по сайзингу от Microsoft, а не минимальные требования.
он назывался как-то так: Best prictice ... performance... tuning...

Да, по второй ссылке примерно то что нужно, но оно совсем странно считает :(. Я прогнал через него тестовый пример с OLTB базой на 3000 одновременных соединений и БД 2,5 Tb и получил рекомендацию сервера: один Dual Core и 32Гб памяти - весело :)

Прелесть того документа, который был на Microsoft в том, что там были очень общие универсальные рекомендации.
Я к сожалению не помню точно сколько там рекомендовалось активных сессий на одно ядро: 20 или 30
Собственно в этом основной вопрос.

Очевидно, что любые общие рекомендации очень приближенные, и пока система не начнет работать не узнаешь хватает тебе процессоров или нет.

Но наверняка при 1000 активных процессов на одном ядре сервер умрет, а при 10 загрузка процессора будет минимальной.
Нужна найти золотую середину! Чтобы планировать оборудование без серьезного перезаклада, до того как система стартовала.
Потому что масштабировать современные серверы (я рассматриваю только HP и IBM в архитектуре Intel x64) по памяти практически не является проблемой: можно легко увеличить ее с 16 Гб до 512 Гб даже в младших моделях серверов.
А вот с числом ядер процессора все куда хуже, upgrade зачастую выливается в замену модели сервера, при этом старшая модель получается в несколько раз дороже младшей :(
alexeyvg
Дата: 09.06.2011 15:39:27
Denis
Да, по второй ссылке примерно то что нужно, но оно совсем странно считает :(. Я прогнал через него тестовый пример с OLTB базой на 3000 одновременных соединений и БД 2,5 Tb и получил рекомендацию сервера: один Dual Core и 32Гб памяти - весело :)
Там же ещё спрашивает про количество запросов в минуту. Может, вы задали маленькое значение?

А для террабайтов данных и ничего не делающих коннектов много процессоров не нужно...
Denis
Дата: 09.06.2011 22:34:21
2 Алексей

Количество запросов ставил максимально предлагаемое тулом: 12000 в минуту и остальные параметры не маленькие.

Вот исходные данные и результат который он предлагает:
http://i.dell.com/images/global/shared/tools/sql_advisor/en/html/solution.html?solution={%20Inputs:{%20p12:%22SQL%20Server%207.0%2F2000%22,%20p11:%22High%20availability%20clustering%22,%20p10:%22Intel%22,%20p9:%2260%22,%20p8:%220%22,%20p7:1000,%20p4:%2215%2C000%20RPM%22,%20p3:2500,%20p2b:%22FC%22,%20p2a:%22No%20Preference%22,%20p1:%22OLTP%22,%20p6:10000,%20p5:12000%20},%20Server:{%20SummaryName:%22PE6850%22,%20ServerInclude:%22PE6850%22,%20Clustering:%22Yes%22,%20Utilization:60,%20PType:%22Intel%22,%20NumServers:2,%20TMem:64,%20PC:2,%20NProc:1,%20Name:%22PE6850%22%20},%20Storage:{%20SummaryDAE:8,%20DisplayEnclosures:false,%20DisplayDAE:true,%20SummaryName:%22CX3-40%22,%20DAE:8,%20SPE:1,%20SpeedHS:%2215%2C000%20RPM%22,%20TypeHS:%22146GB%2015K%20FC%22,%20NumHS:5,%20FCMessage:false,%20StorageInclude:%22CX3-40%22,%20DiskSpeed_Temp:%2215%2C000%20RPM%22,%20DiskSpeed_Log:%2215%2C000%20RPM%22,%20DiskSpeed_Data:%2215%2C000%20RPM%22,%20TND:127,%20RaidType_Temp:%22Raid%201%2F0%22,%20RaidType_Log:%22Raid%201%2F0%22,%20RaidType_Data:%22Raid%201%2F0%22,%20Capacity_Temp:%22146GB%2015K%20FC%22,%20Capacity_Log:%2273GB%2015K%20FC%22,%20Capacity_Data:%22146GB%2015K%20FC%22,%20SAS:false,%20FC:true,%20Nlog:16,%20Ntemp:16,%20Ndata:90,%20Rank:9,%20Name:%22CX3-40%22%20},%20TapeBackup:{%20SummaryDisplay:{%20Server:false,%20Unit:false,%20Header:false%20},%20IsDisplayed:false%20},%20Software:{%20OS:%22Windows%20Server%202003%20Enterprise%20Edition%20%28or%29%20Windows%20Server%202003%20Enterprise%20x64%20Edition%22,%20SQL:%22SQL%20Server%202005%20Enterprise%20Edition%20%28or%29%20SQL%20Server%202005%20Enterprise%20x64%20Edition%22%20},%20HBA:{%20Number:4,%20Type:%22Single%20Port%20Fibre%20Channel%22%20}%20}

Здесь практически все параметры по максимуму из предлагаемых тулом и конкурентных подключений не 3 а 10 тысяч, а он все равно настаивает на одном Dual Core :)

Тул к сожалению не рабочий :(
SIMPLicity_
Дата: 10.06.2011 03:44:52
Хм, в кластере 2 сервера, полностью отданные под сиквел 2000-й. Плюс к этому Processor: Up to 4 single or dual-core 64-bit Intel® Xeon® processors MP with up to 8MB L3 cache and up to 3.66GHz . Ну и по дискам там тоже нехило...
Если только читать, то, имхо - вполне... Хотя, кто их (программистов этого калькулятора) знает, что они понимают под Вашим требованием 12тыс транзакций в минуту...
Вот только я не понял - это два сервера (т.е. ящика от Dell) или 2 логических сервака с MSSQL, повязанных в кластер но поднятых на одном физическом компе...
alexeyvg
Дата: 10.06.2011 08:25:29
Denis
2 Алексей

Количество запросов ставил максимально предлагаемое тулом: 12000 в минуту и остальные параметры не маленькие.
Да, интересно...

Может, это сбой из за того, что вы указали количество запросов больше допустимого максимума этого тулза...

Хорошо хоть количество дисков предлагает адекватное. Кстати, добавить туда процессоры будет практически бесплатно по сравнению со стоимостью дисков :-)

Ну и в принципе для ОЛТП реально не требуется много процессоров.
По теории 12000 в минуту - это 200 в секунду или 10 мс на запрос для 2-х ядерного процессора. Теоретически достаточно.
Хотя в реальной жизни к ОЛТП добавляются тяжёлые запросы, отчёты, какое нибуть обслуживание, поэтому делают запас раз в 10...

Посмотрите тесты TPC-C, там на ядро дают полсотни дисков и поток запросов намного больше ваших требований.
alexeyvg
Дата: 10.06.2011 08:34:49
alexeyvg
Denis
2 Алексей

Количество запросов ставил максимально предлагаемое тулом: 12000 в минуту и остальные параметры не маленькие.
Да, интересно...

Может, это сбой из за того, что вы указали количество запросов больше допустимого максимума этого тулза...
Хотя нет, для этого сервера как раз максимум - 12000
Denis
Дата: 10.06.2011 13:17:48
Не суть важно правильно ли работает этот тул!

Мой вопрос был: есть ли у кого общие рекомендации по процессорам и памяти для OLTP БД?

alexeyvg

Посмотрите тесты TPC-C, там на ядро дают полсотни дисков и поток запросов намного больше ваших требований.

Леша, можешь прислать ссылку на тесты TPC-C о которых ты говоришь?
(Ничего что я на "ты"? Мы когда с тобой в Платине работали были на "ты" вроде.)

Заранее благодарен.