У меня возникла проблема с настройкой моей базы данных MSSQL со скоростью. Вот мой сценарий.
В среднем около 100 млн строк: 1 тыс. Обновлений в секунду Жесткие диски: RAID 10 SSD MDF
-Активное время: 0
Диски журналов: 1 SSD LDF - Простое восстановление
--Активное время 99,9
- Очередь: 8
Мне не нужна резервная копия журнала, поэтому он настроен на простое восстановление, но мое узкое место все еще находится в моем журнале. У меня много времени WAITLOG, поэтому он не может обновляться быстрее. Я не могу выполнять массовые обновления / транзакции, и каждое обновление должно выполняться по одному.
Есть ли у меня единственный вариант увеличить скорость записи дисков журналов - добавить диски RAID? Есть предложения по увеличению производительности?
Если ваше «узкое место» - это файлы журналов, вы можете начать изучать несколько областей, чтобы улучшить пропускную способность журналов. Я бы начал с этого сообщения в блоге Кимберли Трипп: http://www.sqlskills.com/blogs/kimberly/8-steps-to-better-transaction-log-throughput/
Я бы позаботился о том, чтобы ваш диск был правильно отформатирован с размером единицы распределения 64 КБ и что не было чрезмерного монтирования файлов виртуального журнала (как указано в статье журнала выше). Кроме того, убедитесь, что антивирусное программное обеспечение не активно проверяет файлы LDF.
Возможно, стоит использовать что-то вроде SQLIO (или другого инструмента для стресс-тестирования диска), чтобы узнать, какова теоретическая производительность последовательной записи на вашем диске журнала. Затем вы можете сравнить это с perfmon во время тяжелой работы, чтобы увидеть, достигли ли вы пределов своего журнала. Если да, то я бы сказал, что пора подумать о более быстрой настройке привода.
При работе с большими таблицами производительность падает из-за того, что индекс и тому подобное не помещается в ОЗУ или не хватает ресурсов, выделенных в зависимости от конфигурации сервера. Еще один более сложный, но очень эффективный метод - найти способ разбить таблицу на более мелкие. Вы можете сначала попытаться добавить больше ОЗУ и оптимизировать настройки сервера. RAID 10 ssds - это правильный выбор, не уверен, что добавление большего количества RAID будет иметь большое значение.