Как проверить производительность TempDB?
Я получаю несколько противоречивых советов о том, как лучше настроить наше хранилище SQL с нашим текущим SAN. Я хотел бы провести некоторое собственное тестирование производительности с несколькими различными конфигурациями.
Я смотрел на использование SQLIOSim, но, похоже, он не имитирует TempDB.
Кто-нибудь может порекомендовать способ тестирования данных, журнала и производительности TempDB?
Как насчет использования файла трассировки профилировщика SQL из нашей производственной системы? Как бы я использовал это для запуска моего тестового сервера?
Спасибо Мэтт
2 ответа
Универсальная рекомендация - даже прежде чем устанавливать 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
CheckDB и переиндексация (особенно онлайн) - довольно активные пользователи TempDB - в зависимости от конфигурации / размера базы данных и т. Д. Возможно, вы захотите сравнить типичные действия, подобные этим, на вашем новом компьютере.
Наконец, ваш поставщик SAN может подготовить технический документ по настройке специально для SQL Server. Попытайтесь найти это, и если это существует - пройдите это с вашим администратором SAN.
Общая информация, которую я могу предоставить, заключается в том, что обычно база данных tempdb должна работать в массиве RAID10, поскольку это база данных с высокой записью. Что касается количества шпинделей, которое будет полностью зависеть от рассматриваемого сервера и от того, сколько IO будет генерировать база данных tempdb.