Я получаю противоречивые советы о том, как лучше всего настроить наше хранилище SQL с нашей текущей SAN. Я хотел бы провести некоторые собственные тесты производительности с несколькими различными конфигурациями.
Я рассмотрел возможность использования SQLIOSim, но, похоже, он не имитирует TempDB.
Может ли кто-нибудь порекомендовать способ проверки производительности данных, журнала и TempDB?
А как насчет использования файла трассировки SQL Profiler из нашей производственной системы? Как бы я использовал это для запуска на моем тестовом сервере?
Спасибо, Мэтт.
решение1
Универсальная рекомендация — еще до установки SQL Server — протестировать подсистему ввода-вывода с помощью чего-то вроде SQL IO, чтобы узнать ее возможности. http://www.brentozar.com/archive/2008/11/storage-performance-testing-with-sqlio/
Воспроизведение файлов трассировки — хорошая идея, но может быть довольно неудобно в настройке. Возможно, вам лучше собрать несколько скриптов, которые имитируют различные виды рабочих нагрузок. http://msdn.microsoft.com/en-us/library/ms189604.aspx
Проверка БД и переиндексация (особенно онлайн) — довольно активные пользователи TempDB — в зависимости от конфигурации/размера базы данных и т. д. Возможно, вам захочется протестировать типичные действия, подобные этим, на вашем новом компьютере.
Наконец, ваш поставщик SAN может выпустить техническую документацию о том, как настроить конкретно для SQL Server. Попробуйте найти ее, и если она существует, проработайте ее с вашим администратором SAN.
решение2
Общая информация, которую я могу предоставить, заключается в том, что обычно tempdb должна работать на массиве RAID10, поскольку это база данных с высокой скоростью записи. Что касается количества шпинделей, то это будет полностью зависеть от рассматриваемого сервера и того, сколько операций ввода-вывода будет генерировать база данных tempdb.