Есть в моём техно-зоопарке такой древний мамонт как сервер IBM xSeries 226. Основная его функция - сетевое файловое хранилище. Ежедневно к нему обращаются порядка 70 рабочих станций. Важные для нас технические подробности:
- двухъядерный процессор Intel Xeon CPU 3.4GHz
- ОС Windows Server 2003
- система расположена на отдельном RAID-массиве
- файловое хранилище - на обычном SATA-винчестере Western Digital 1TB
Как всё развивалось:
Месяц назад пользователи начали понемногу жаловаться на периодическое падение скорости копирования/записи файлов на сетевой диск нашего сервера. Была пора отчётов, все что-то копировали - падение скорости трафика можно было объяснить естественными причинами. Но вот прошли Новогодние каникулы, всё вернулось в обычное русло, а проблема осталась. Нужно было уже серьёзно разбираться с причинами происходящего:
В стандартном диспетчере задач сервера было видно, что общая загрузка процессора постоянно колеблется в районе 50%, а одно из двух ядер - почти 100%! Правда было непонятно какой процесс занимает столько ресурсов. Для глубокого анализа я воспользовался программой Process Explorer. И вот что я увидел:

Некий процесс Interrupts съедает половину процессорной мощности! Что еще за аппаратные прерывания? такого в моей практике ещё не было. Яндекс готового решения по устранению проблемы не предоставил. Стало только ясно, что причина скорее всего в железе, так как нового софта уже очень давно не устанавливалось и антивирусная проверка ничего не нашла.
Опытным путём установил, что если отключить сетевой адаптер - нагрузка практически моментально падает до нормальных значений и процесс System/Interrupts колеблется в районе 0-2%. После включения, проходит минут 10 - нагрузка опять повышается. Решил разбираться с сетевым адаптером: обновлял драйвера встроенного, устанавливал дополнительную сетевую карту и пускал трафик через неё - ничего не помогало :(
Дело принимало серьёзный оборот. Проводя эксперименты по выявлению причины происходящего я установил: как только происходит копирование/запись данных на SATA-диск (даже с отключенным сетевым контроллером), нагрузка на процессор резко возрастает. Вот оно! Сетевой трафик тут вообще не причем! Отключение сетевого адаптера просто разрывало обращения пользователей к диску. Поставил новый HDD в тот же самый SATA-порт, протестировал - всё отлично работает без каких-либо существенных нагрузок.
Заключение
Наконец-то я разобрался с причинами проседания трафика и загрузкой процессора сервера. Виной всему - совсем нестандартное поведение умирающего HDD, который в работе уже почти 10 лет. Проверять на ошибки жёсткий диск размером 1TB - слишком долго. Я решил не искушать судьбу и скопировать всё на заведомо исправный. А пока продолжается копирование - я заканчиваю эту статью. Надеюсь она кому-нибудь поможет в похожей ситуации.