Назад | Перейти на главную страницу

Как я могу определить, что отправляет столько данных с моего Windows Server, на котором запущен SQL Server?

У меня есть SQL Server, который постоянно отправляет данные через сетевой интерфейс. Объем отправляемых данных слишком велик; около 7 МБ в секунду. Я просканировал сервер антивирусом, но ничего не нашел.

Как я могу определить, что использует такую ​​большую пропускную способность на моем сервере?

Сканирование сервера антивирусом бесполезно, если есть вероятность заражения. Возможно, инфекция сама защищает себя от обнаружения. Если вас беспокоит заражение, вам нужно будет отключить сервер и выполнить сканирование жесткого диска. Рассмотрите возможность использования загрузочного компакт-диска с антивирусом на нем, например, компакт-диска Kaspersky Rescue.

Чтобы узнать, сколько пропускной способности занимает процесс, просто откройте встроенный инструмент «Монитор ресурсов» и посмотрите на подраздел сети:

Вы также можете использовать перфмон чтобы создать монитор, а затем использовать счетчики в классе Process для определения количества используемых им операций ввода-вывода. Ввод-вывод будет подсчетом как сетевого, так и дискового ввода-вывода, так что вы все равно можете получить разумное предположение о том, какие процессы занимают полосу пропускания.

Если вы хотите установить стороннее программное обеспечение, изучите NetLimiter.

Если вы хотите перейти на хардкор, используйте Network Monitor для захвата пакетов или зеркалируйте порт, на котором находится сервер, на сервер-анализатор и попытайтесь преобразовать данные во что-то значимое.


ИЗМЕНИТЬ 1

В вашем случае вы сузили его до IIS и исполняемого файла рабочего процесса. Теперь вы захотите проверить, какой веб-сайт занимает так много трафика. IIS может создавать файлы журналов для каждого сайта, которые можно исследовать с помощью LogParser. Кто-то сделал быструю бесплатную программу, которая может просматривать журналы и отображать некоторую статистику. Это правильно называется "Монитор трафика IIS."Обязательно проверьте документация для этого.

Существуют также другие платные инструменты для определения использования полосы пропускания IIS, но я позволю вам найти их, чтобы моя ссылка на них не показалась мне одобрением.

Если у вас есть какой-либо шлюз или брандмауэр перед сервером IIS, он может иметь возможность проверять пакеты, которые пересекают его границы, и восстанавливать статистику на основе трафика уровня приложения, такого как HTTP (что означает, что он может предположительно сортировать использование полосы пропускания по URL-адресам и каталог).

Я бы начал просматривать сетевой трафик - http://www.wireshark.org/download.html

В MS SQL вы также можете запустить трассировку профилировщика для просмотра активности базы данных. Может быть, у MySQL есть похожая функция?