RAID 5 на вашем NAS? Это твой убийца.
INSERT записывается в журнал: он записывает в файл .LDF (log). Этот файл на 100% записан (ну, достаточно близко).
Это огромное соотношение записи к чтению генерирует много дополнительных записей на диск в RAID 5.
У меня есть статья в работе (добавлю позже): RAID 5 записывает в 4 раза больше на диск, чем RAID 10 в ситуациях 100% записи.
* Решения 1010 *
Вам нужно как минимум разделить данные и файлы журналов для вашей базы данных.
Редактировать: Уточнил эту строку:
Файлы журнала должны идти на диски RAID 1 или RAID 10. Это не так важно для файлов данных (.MDF). Файлы журналов записываются на 100%, поэтому преимущества RAID 1 или RAID 10.
Есть и другие потенциальные проблемы, такие как фрагментированная файловая система или множество сегментов Vlog (в зависимости от того, как выросла ваша база данных), но я бы сказал, что вашей основной проблемой является RAID 5.
Для БД объемом 3 ТБ я бы также добавил как можно больше оперативной памяти (32 ГБ, если Windows Advanced / Enterprise) и настроил PAE / AWE и т. Д. Это уменьшит некоторые проблемы с диском, но только для кэширования данных.
Коэффициент заполнения 85 или 90 - это обычное эмпирическое правило. Если ваши вставки широкие и не являются строго монотонными (например, столбец int IDENTITY), то у вас будет много разделений страниц с чем-либо более высоким.
Я не единственный, кто не любит RAID 5: BAARF
Редактировать еще раз:
Ищите « Протокол ведения журнала записи (WAL) » в этой статье SQL Server 2000. Это по-прежнему актуально: оно объясняет, почему файл журнала важен.
Я не могу найти свою статью о том, как страдает RAID 5 по сравнению с RAID 10 при 100% загрузке записи.
Наконец, SQL Server выполняет ввод-вывод частями по 64 КБ, поэтому отформатируйте NTFS с кластерами по 64 КБ.