Очень часто слышу от администраторов, что у них система DIRECTUM стала медленной. И когда спрашиваю о дефрагментации дисков, где хранится БД DIRECTUM, ответ от 90% администраторов был: «нет, не делаю, а для чего это необходимо, если у меня файловая система NTFS?» Не соглашусь с этим высказыванием. Фрагментация файлов на дисках с файловой системой NTFS намного меньше, чем на дисках с файловой системой FAT32, но это не означает, что ее нет.
А теперь, давай посмотрим влияние фрагментации файлов на производительность диска. Для этого записал несколько счетчиков производительности диска с фрагментацией за один день, после дефрагментации диска записал счетчики еще раз.
Название счетчика: Среднее время чтения с диска.
Описание счетчика: Среднее время чтения с диска - это время в секундах, затрачиваемое в среднем на одну операцию чтения данных с диска.
|
Минимальное значение |
Максимальное значение |
Среднее значение |
стандартное отклонение |
С фрагментацией |
0 |
0,5 |
,023 |
,051 |
Без фрагментации |
0 |
,26 |
,008 |
0,01 |
Название счетчика: Среднее время записи на диск.
Описание счетчика: Среднее время записи на диск - это время в секундах, затрачиваемое в среднем на одну операцию записи данных на диск.
|
Минимальное значение |
Максимальное значение |
Среднее значение |
стандартное отклонение |
С фрагментацией |
0,001787 |
0,2654 |
0,007211 |
0,02334 |
Без фрагментации |
0,001044 |
0,03868 |
0,004368 |
0,003191 |
Название счетчика: Текущая длина очереди диска.
Описание счетчика: Текущая длина очереди диска - это количество невыполненных запросов к диску во время сбора сведений о загруженности. Сюда включаются запросы, обслуживаемые во время проведения замера. Этот показатель представляет собой конкретное текущее значение, и не является средним значением по некоторому интервалу времени. Многошпиндельные дисковые устройства могут обрабатывать одновременно несколько запросов, остальные имеющиеся запросы будут ожидать обслуживания. Этот счетчик может отражать постоянные изменения длины очереди, показывая то большую, то малую ее длину, но если имеется перегрузка дискового устройства, то вероятно, что значение этого счетчика будет большим постоянно. Время задержки обработки запросов пропорционально длине этой очереди минус количество шпинделей дисковых устройств. Для хорошей производительности системы среднее значение этого счетчика не должно превышать двух.
|
Минимальное значение |
Максимальное значение |
Среднее значение |
стандартное отклонение |
С фрагментацией |
0 |
74 |
1,665 |
7,224 |
Без фрагментации |
0 |
68 |
0,9905 |
2,53 |
характеристика |
Повышение эффективности |
время чтения с диска |
65% |
время записи на диск |
39% |
Текущая длина очереди диска |
40% |
После наглядного изображения эффекта фрагментации производительности диска остается один вопрос. Какую утилиту рекомендовано использовать для дефрагментации? На рынке имеются очень много ПО для дефрагментации. На много мощнее, чем утилиты Windows, например, DiskKeeper.
А теперь, бегите и дефрагментируйте свои диски, а потом расскажите о результатах !!!!
Хороший материал, но есть один минус: графики построены с разным масштабом и, у первых двух, создается впечатление, что после дефрагментации все стало хуже.
Михаил! Я с тобой согласен, но ничего не могу сделать, это графики SCOM, поэтому я не могу изменить масштабы. Там же есть таблицы, содержащие все нужные значения, и ясно видно повышение эффективности.
Спасибо за материал, позновательный. Делать дефрагментацию необходимо с какой-то определенной переодичностью или же по мере накопления фрагментации?
Я, как администратор, каждый месяц делаю анализ фрагментации всех дисков. Если результат показывает необходимость дефрагментировать диски, то при первой же возможности я буду проводить дефрагментацию. Существует, также, ПО для дефрагментации (Например, Disk Keeper), выполняющее автоматическую дефрагментацию. Как только появляется фрагментация, ПО сразу же начинает дефрагментировать диск.
У нас тут как раз один клиент жалуется на то, что вдруг директум начал тормозить. Предложу им попробовать дефрагментировать диски, вдруг поможет. Спасибо за материал!
Да, если DIRECTUM тормозит из-за проблемы с диском, то возможно фрагментация поможет. Рекомендую использовать Disk Keeper, а не утилиту Windows
А что, он умеет дефрагментировать файлы используемых баз данных?
Мохаммед, а для домашнего пользования что посоветовать можешь? Бесплатное :)
Денису: Да оно умеет дефрагментировать файлы используемых баз данных.
Михаил! Для домашнего пользования, можно посмотрить http://www.auslogics.com/en/software/disk-defrag/ .
К сожалению, Мохамед не указал один важный момент сколько будет "стоить" операция дефрагментации.
Не могу сослаться на свой опыт - ибо его у меня практически нет, но могу заметить, что многие DBA, с которыми мне приходилось общаться on-line, относятся к слову "дефрагментация" с большим скепсисом именно в силу того, что начавшаяся в неудачный момент операция дефрагментации файлов базы, может поставить на колени всю систему. Для систем класса 7/24 - это неприемлемо.
На сколько я понял, там предпочитают бороться с подобным проблемами радикально:
Впрочем, для Directum, это, скорее всего, не так страшно - почти на любом предприятии (кроме сетей с большой географической распределенностью) можно найти время, когда с системой практически никто не работает.
А DIRECTUM система класса 7/24? Может быть, мы совершили чудо и научились обновлять версию системы без отключения пользователей?
Смотря что понимать по "поставить на колени всю систему". Для DIRECTUM снижение производительности системы даже на 95% в нерабочее время совершенно не критично.
Именно.
Именно, поэтому я не написал категоричное "не использовать!", а лишь указал на источник возможных проблем.
Пока нет. Но мы работаем в этом направлении.
Авторизуйтесь, чтобы написать комментарий