Назад | Перейти на главную страницу

Правила выбора оборудования для OLTP-систем (sql server)

Хорошо. Мы знаем размер базы данных, количество одновременных пользователей, количество транзакций в минуту; следует выбрать количество процессоров, RAID, RAM, зеркалирование и кластеризацию.

Нет точных правил .. а может быть нет вообще?

В моей практике в каждом случае у меня есть «устаревшая» система, и после некоторых проверок и собеседований я могу составить мнение, как можно улучшить оборудование и дизайн.

Но каждый раз, когда я встречаю «абсолютно» новую систему (думаю, новых систем нет, но иногда бывают такие задачи), я не могу сказать ничего доверительного. Так мне интересно, как люди справляются с такими задачами? Они ставят задачу в соответствие со своим опытом или имеют какие-то базовые формулы?

Если у вас есть определенный тестовый сервер, вы можете провести некоторые тесты без установки SQL или развертывания какой-либо базы данных.

Я слышал хорошие вещи о инструмент sqliosim.exe используется для имитации SQL-активности в новой операционной системе, в которой ничего не запущено. Я никогда не тестировал его, потому что у меня не было такой среды, но ее не так сложно настроить.

Результаты помогут вам понять, достаточно ли для вашей системы ЦП, памяти или диска.

Вам нужно иметь несколько тестов, чтобы знать, сколько вам нужно процессора, памяти или диска. Однако есть несколько рекомендаций по базам данных OLTP для конфигурации диска: RAID 10 и RAID 5 кажутся лучшим выбором.

Raid 10 подходит для увеличения активности записи - файлы журнала (100% - это активность записи) и файлы данных (если активность записи превышает 10% операций ввода-вывода).

Raid 5 подходит для повышенной активности чтения - файлы данных, если активность записи составляет менее 10% операций ввода-вывода.

Также вам может помочь блог Пола Рэндала, потому что он провел много тестов оборудования и пришел к разумным выводам: http://www.sqlskills.com/BLOGS/PAUL/category/Performance.aspx

Вероятно, это больше зависит от типов транзакций и от того, насколько хороша ваша база данных. Также важны следующие моменты: сколько операций чтения и записи (очень важно для конфигурации RAID), есть ли сложные JOINs и т. Д. Это действительно касается качества базы данных и дизайна приложения, а также количества одновременных пользователей. и транзакции. Таким образом, я бы сказал, что для общей базы данных OLTP нет правил, все, что вы можете сделать, это создать правила (и возможные оптимизации) для ваш База данных и приложение OLTP. Представьте, что у вас нет индексов - ваша база данных будет работать очень плохо.

Начните с тестового сервера и приложите к нему известную нагрузку и посмотрите, где находятся узкие места, с помощью Profiler. Затем исправьте их и увеличьте нагрузку.