Решение проблемы деградации производительности системного диска
Если на каком либо диске в системе установлен SQL-сервер, то в целях защиты данных этого диска, при загрузке
операционная система WINDOWS выключает кеширование по записи этого диска. Но это, во многих случаях,
приводит к значительной потере производительности диска. Если же раздел диска
расположен на RAID5-массиве, то выключение кеширования записи часто приводит к полному обвалу (деградации)
производительности тома. И, хотя опция кеширования по записи драйвера RAID-контролера включена,
расположенный в иерархии выше, драйвер тома файловой системы устанавливает поведение обмена с диском,
при котором каждое обращение к данным диска, не важно по чтению или записи, приводит к непосредственному
обращения к физическим данным на физических томах RAID5-массива, что, в свою очередь, приводит к полному
обвалу производительности операционной системы.
Для решения данной проблемы Microsoft опубликовала в «Базе знаний» простое консольное приложение
«dskcache.exe», которое устанавливает параметры
кеширования тома файловой системы. Запускать данное приложение можно из планировщика задач
операционной системы.
Для запуска приложения «dskcache.exe» я разработал
простой системный сервис, который одноразово запускает последовательность консольных
команд и выводит выходные потоки этих команд в виде сообщений в системный журнал событий
приложений.
Список запускаемых команд помещается в многострочное значение реестра
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RunOneService\Parameters\saCommandArray”.
При инсталляции сервиса туда помещается значение
‘"C:\Program Files\Real Time Systems DD\RunOneService\dskcache.exe" +p +w C:’
(команда установки кеширования по записи диска «C:».
Данный сервис может полезен также для автоматизации многих других проблемм системного администрироания (запуск
команд dialup, конфигурирования сети с помощью команд
netsh и.т.п.
Сергей Дюков