Добро пожаловать на четвертую статью в нашей серии о управлении и оптимизации SQL Server. В этой статье мы будем обсуждать раздел производительности скрипта sp_Blitz™, мощного инструмента, разработанного компанией Brent Ozar Unlimited.
По мере развития вашей рабочей нагрузки и обновления ваших приложений важно регулярно мониторить и аудитировать ваши экземпляры SQL Server, чтобы предотвратить проблемы с конфигурацией и безопасностью. Скрипт sp_Blitz™ является фантастическим инструментом, который анализирует конфигурацию, состояние и производительность ваших экземпляров SQL Server. Он предоставляет множество информации, которая может помочь вам выявить потенциальные узкие места производительности и оптимизировать ваш сервер баз данных.
Давайте погрузимся в раздел производительности скрипта sp_Blitz™ и изучим некоторые из его результатов:
Высокое количество VLF
Высокое количество VLF (виртуальных журнальных файлов) может значительно влиять на производительность, особенно если вы записываете много журнальных записей. Скрипт sp_Blitz™ может помочь вам выявить базы данных с высоким количеством VLF, позволяя вам принять соответствующие меры. В нашем случае мы обнаружили, что некоторые из наших баз данных имели количество VLF более 1000.
Для устранения этой проблемы мы следовали процедуре сжатия журнальных файлов и затем увеличения их до соответствующего размера. Однако мы столкнулись с некоторыми проблемами, связанными с активными VLF, которые не позволяли нам уменьшить файлы до небольшого размера. Чтобы преодолеть это, мы использовали трюк с использованием фиктивной таблицы, резервного копирования журнала и повторяющихся операций сжатия. Это помогло нам снизить количество VLF до управляемого уровня.
Медленные операции чтения и записи на накопителях
Медленные операции чтения и записи на накопителях могут значительно влиять на производительность вашего сервера баз данных. Скрипт sp_Blitz™ может предупредить вас о любых операциях чтения или записи, которые занимают больше времени, чем рекомендуемые пороги. В нашем случае мы наблюдали медленные операции чтения и записи на определенных дисках, которые, как мы полагаем, связаны с использованием общего хранилища SAN.
В то время как мы работаем с нашим хостинг-провайдером, чтобы получить больше информации и устранить эту проблему, важно тщательно следить за влиянием медленных операций чтения и записи на производительность.
Хранимые процедуры с опцией WITH RECOMPILE
Скрипт sp_Blitz™ также предупреждает вас о любых хранимых процедурах, которые используют опцию WITH RECOMPILE. Эта опция может вызывать проблемы с производительностью, и рекомендуется избегать ее использования, если это необходимо. В нашем случае мы обнаружили, что единственный случай использования этой опции был с процедурой sp_Blitz, которая будет исправлена в следующей версии.
Активные и неактивные таблицы без кластеризованных индексов
Обычно рекомендуется иметь кластеризованный индекс на большинстве таблиц для оптимальной производительности. Скрипт sp_Blitz™ может выявить таблицы без кластеризованных индексов, известные как кучи. В нашем анализе мы обнаружили, что некоторые из наших баз данных, особенно базы данных сторонних продуктов, имели таблицы без кластеризованных индексов. В то время как мы не слишком обеспокоены этими конкретными таблицами, мы попросили наших разработчиков пересмотреть их для возможных улучшений производительности.
Движение вперед
Скрипт sp_Blitz™ является ценным инструментом для мониторинга и оптимизации ваших экземпляров SQL Server. Важно запускать его периодически, чтобы заметить любые изменения, которые могут повлиять на производительность. Сохранение результатов предыдущих запусков и сравнение результатов может помочь вам выявить потенциальные проблемы и отслеживать улучшения со временем.
В нашей следующей статье мы рассмотрим раздел планов запросов скрипта sp_Blitz™ и его понимание производительности запросов. Следите за обновлениями!
Спасибо за чтение и оставайтесь на связи для получения больше советов и идей по SQL Server!