Описание метода пороговых значений, который реализован в свободно распространяемой программе SelFTrend (www.prolan.ru/selftrend), и применяется для локализации дефектов и узких мест в локальных и распределенных сетях.
Оценочные тесты и программа SelFTrend
Рассмотрим программу SelFTrend, позволяющую измерять, оценивать и контролировать производительность работы сетевого оборудования и сетевых сервисов. Она включает следующие функции:
- Измерение времени реакции файлового сетевого сервиса: SQL, TCP, SMTP, POP3 и ICMP.
- Получение SNMP-статистики о работе активного сетевого оборудования.
- Получение статистической информации о работе серверов MS Windows NT4/2000/XP (идентичные сведения можно также получить средствами программы MS Performance Monitor).
- Управление работой SA (Service Assurance) агентов, встроенных в операционную систему IOS компании Cisco Systems.
- Измерение качества IP-каналов (OoS, Quality of Service).
- Получение в режиме реального времени информации о работе сети, измеряемой средствами программного пакета Observer Suite компании Network Instruments.
- Получение в режиме реального времени сведений о работе информационной системы, измеряемых с помощью программных пакетов AppManager и Vivinet Manager компании NetIQ.
- Оповещение администратора сети о возникающих в сети сбоях посылкой WinPopup-сообщений и запуском внешних программ.
Главная особенность SelFTrend заключается в том, что в ней реализован метод пороговых значений (далее — метод «светофора»). Суть его заключается в следующем. Значения измеряемых характеристик автоматически сравниваются с пороговыми значениями, хранящимися в специальном файле, называемом «модулем знаний». На основании результатов сравнения программа автоматически формирует интегральную оценку «здоровья» того компонента сети, характеристики которого она измеряет. Эта оценка отображается на всплывающем дисплее, имеющем вид «светофора» (рис.1) Если значения измеряемых характеристик не превышают установленные пороги, то сеть работает хорошо и «светофор» горит зеленым светом, а если превосходят, то в зависимости от величины превышения «светофор» будет выдавать мигающий желтый, желтый, мигающий красный или красный сигнал.
Рис. 1. «Светофор» программы SelFTrend: в верхней части окна отображается интегральная оценка, в нижней — текущие и пороговые значения, на основании которых она формируется |
Пороговые значения характеристик работы сети, соответствующие «хорошей» и «плохой» ее работе, хранятся в модулях знаний. Пользователь программы может создавать собственные модули знаний, отражающие специфику работы его сети. Кроме того, имеется набор готовых модулей, разработанных компанией ProLAN, которые включены в состав оценочных тестов, реализованных в программе SelFTrend. Каждый модуль знаний содержит набор пороговых значений, соответствующих различным сигналам «светофора» (красный, желтый и т.д.). Модули знаний компании ProLAN позволяют оценить «здоровье» всех основных компонентов сети: сетевого оборудования, серверов, арендуемых каналов связи и т.п.
Рассмотрим более подробно три оценочных теста:
- для оценки "здоровья" серверов MS Windows NT4/2000/XP;
- для оценки "здоровья" коммутаторов Ethernet;
- для интегральной оценки производительности файлового сервиса сети.
Метод пороговых значений дает ответ на вопрос, как в данный момент времени работает сеть (коммутаторы, серверы, сервисы и т.п.). Если же необходимо выявить первопричину проблемы, провести ее сквозную (end-to-end) диагностику или локализовать узкое место с точки зрения пользовательских приложений, то возможностей программы SelFTrend будет недостаточно. Для решения этих задач придется прибегнуть к другим средствам, например к программному пакету NPM Analyst компании ProLAN.
Тест оценки «здоровья» серверов MS Windows NT4/2000/XP
Данный тест позволяет определить, соответствует ли производительность серверов требованиям используемых в сети приложений. Работа теста основана на автоматическом контроле программой SelFTrend статистической информации о работе серверов MS Windows NT4/2000/XP. (Эти сведения обычно отображаются программой MS Performance Monitor.) Сначала программа предлагает ввести имена подлежащих тестированию серверов. После запуска теста программа автоматически подключается к тестируемым серверам и с заданной периодичностью начинает контролировать характеристики их работы, значимыми из которых являются семь (табл. 1).
Таблица.1. Пороговые значения основных характеристик «здоровья» серверов MS Windows NT4/2000/XP |
ПамятьДоступно (Мбайт) — объем оперативной памяти на сервере, доступной ОС в текущий момент времени. Минимальное пороговое значение для этого счетчика — 4 Мбайт. Если для данной характеристики фиксируется плохая оценка (красный или желтый сигнал «светофора»), то следует увеличить объем на сервере оперативной памяти.
ПамятьОбмен (стр./с) — среднее число страниц в 1 с, которое ОС сервера была вынуждена прочитать с диска и/или записать на него. Чтение или запись на диск происходят из-за того, что требуемые страницы отсутствуют в оперативной памяти сервера тогда, когда они требуются ОС или пользовательскому приложению. Необходимость чтения/записи данных с диска обычно обусловлена двумя причинами. Во-первых, если оперативной памяти не хватает, то OC освобождает системную кэш-память, сбрасывая данные неактивных приложений в swap-файл на диск. Во-вторых, когда приложения активизируются, то OC «переписывает» соответствующую этому приложению информацию из swap-файла в системную кэш-память. Кроме того, она вынуждена загружать данные с диска, если, запрашиваемые приложением, они отсутствуют в кэш-памяти сервера. Максимальное пороговое значение для этого счетчика — 120 стр./с. Если для этой характеристики фиксируется плохая оценка, то на сервере следует увеличить объем оперативной памяти.
Файл подкачки(_Total) (% использования) — процент использования ОС файла подкачки в текущий момент времени. Если в файле подкачки осталось мало свободного места, то ОС может не хватить виртуальной памяти для запуска новой задачи. А когда при этом не установлен максимальный размер файла подкачки, то ОС будет его динамически расширять. В эти моменты времени производительность сервера резко снижается. Если же максимальный размер файла подкачки установлен и его не хватает, то задача не запустится из-за нехватки памяти. Максимальное пороговое значение для данного счетчика — 90%. Если для этой характеристики фиксируется плохая оценка, то на сервере следует увеличить максимальный объем файла подкачки.
Процессор(_Total) (% загруженности процессора) — процент времени, приходящийся на выполнение полезной работы процессорами сервера. Если значение этого счетчика в течение продолжительных периодов времени превышает 85%, то это свидетельствует о недостаточной производительности процессоров сервера для выполнения запущенных задач, и значит, следует заменить процессоры более мощными либо переместить часть задач на другие компьютеры.
Кэш (% попаданий при отображении данных) — процент запросов на получение данных, которые могут быть выполнены без обращения к жесткому диску, т.е. тогда, когда запрашиваемые данные уже находятся в оперативной кэш-памяти сервера. Обращения к диску существенно увеличивают время выполнения запросов и, следовательно, снижают производительность работы сервера. Пороговое значение для этого счетчика — 20 %. Если для данной характеристики фиксируется плохая оценка, то на сервере следует увеличить объем оперативной памяти.
Физический диск(_Total) (% активности диска при чтении/записи) — процент времени, затрачиваемого дисковыми устройствами сервера при обработке запросов на чтение/запись данных. Обычно по умолчанию данные счетчики включены, но если это не так, то на сервере необходимо выполнить команду diskperf -yd, а затем перезагрузить его.
Пороговые значения для этих счетчиков при выполнении операций чтения — 25%, операций записи — 50%. Если для этих характеристик в течение продолжительных периодов времени фиксируются плохие оценки, то, значит, имеет место перегруженность (недостаточная производительность) дисковой подсистемы сервера, и рекомендуется установить на нем более быстрые диски или переместить активно используемые файлы (например, файлы БД или подкачки) на другие физические диски.
СистемаВремя работы системы (с) — общее время работы сервера, прошедшее с момента его последней перезагрузки. Считается, что сервер должен перезапускаться как можно реже, поэтому «свежая» перезагрузка (не более 10 мин) вызывает мигающий желтый сигнал «светофора».
Тест оценки «здоровья» коммутаторов Ethernet
Данный тест позволяет локализовать дефекты сетевого оборудования и кабельной системы, а также определить, соответствует ли производительность этого оборудования потребностям используемых в сети приложений. Его работа основана на автоматическом контроле программой SelFTrend по протоколу SNMP статистики функционирования коммутаторов сети. После запуска программа предлагает ввести IP-адреса тестируемых коммутаторов, а затем для каждого из них — строку доступа (community string) (пароль). Тест позволяет оценивать «здоровье» коммутаторов, имеющих встроенные SNMP-агенты, которые поддерживают MIB II.
Когда запускается тест на выполнение, программа автоматически подключается к выбранным коммутаторам и начинает с заданной периодичностью контролировать характеристики работы всех их портов.
Значимыми характеристиками в тесте оценки «здоровья» коммутаторов Ethernet являются четыре счетчика, приведенные в табл. 2.
Таблица. 2. Пороговые значения основных характеристик «здоровья» коммутаторов Ethernet |
Количество ошибочных пакетов (%) — т.е. процент пакетов, отброшенных портом коммутатора из-за наличия в них ошибки. Это происходит в следующих случаях: неверная контрольная сумма (CRC-error), длина пакета больше 1518 байт (Too Big Error), длина пакета меньше 64 байт (Too Small Error), пакет имеет неправильный формат (Jabber или Runt). В данном тесте пороговое значение для этого счетчика составляет 0,1%. Принято считать, что для порта коммутатора пороговое значение данного счетчика зависит от типа сегмента, подсоединенного к этому порту. Если подключен разделяемый сегмент (концентратор), то пороговое значение составляет 0,1 %, а если полнодуплексный — то 0,001%.
Повышенное пороговое значение для разделяемых сегментов объясняется тем, что коллизия, происходящая в разделяемом канале связи после передачи в сеть преамбулы кадра, фиксируется портом коммутатора как ошибка (типа Runt). Такая ситуация может складываться даже в полностью исправных разделяемых каналах связи при условии, что общая длина канала велика. Если для этой характеристики фиксируется плохая оценка, то, значит, имеется проблема в кабельной системе сети, в тестируемом коммутаторе или в активном сетевом оборудовании, подключенном к тестируемому коммутатору.
Количество широковещательных пакетов (%) — т.е. пакетов, адресованных не конкретному узлу сети, а одновременно всем ее узлам. Такие пакеты используются, например, для поиска определенных ресурсов в сети, в частности DHCP-сервера, для разрешения (перевода) IP-адресов в MAC-адреса и т.п. Большая доля широковещательного трафика снижает производительность сети, так как соответствующие пакеты вынуждены обрабатывать все ее узлы. Считается, что пороговое значение для данного счетчика — 6%. Однако когда утилизация сети низкая, то даже если доля широковещательного трафика велика, это не ухудшает работу ее пользователей. (Если же в сети никто не работает, то доля широковещательного трафика может быть близка к 100%, что нормально.) Поэтому тест организован так, что анализ доли широковещательного трафика выполняется только тогда, когда утилизация порта коммутатора не менее 5%.
Утилизация порта (%) — процентное отношение времени, в течение которого по коллизионному домену (сегменту сети), присоединенному к данному порту коммутатора, происходила передача данных, к тому времени, когда передачи данных не было. Утилизация сегмента измеряется как отношение числа байт, «прошедших» по сегменту сети за 1 с, к максимально возможной скорости передачи данных по этому сегменту сети. (Для сети Ethernet — 10 Мбит/с, для Fast Ethernet — 100 Мбит/с.)
Для порта коммутатора пороговое значение данного счетчика составляет 50%. Когда для данной характеристики фиксируется плохая оценка, то имеет место несоответствие пропускной способности сети потребностям пользовательских приложений. В этом случае имеет смысл выяснить, какие приложения и какие пользователи создают высокую загрузку портов оборудования. Эту задачу можно решить, например, с помощью пакета Observer компании Network Instruments (www.prolan.ru/observer).
Тест интегральной оценки производительности файлового сервиса сети
Этот тест имеет широкую область применения, особенно при исследовании локальных сетей. С его помощью можно определить, имеются ли в сети дефекты оборудования, кабельной системы, рабочих станций и серверов. Кроме того, он дает возможность оценить, соответствует ли производительность сетевого оборудования потребностям используемых в сети приложений, а также проверить любые типы локальных сетей (коммутируемые и на основе концентраторов) с различным оборудованием (управляемым и неуправляемым). Фактически тест этого типа — единственный, позволяющий провести тестирование сети, построенной на основе неуправляемого активного оборудования.
Тест выдает интегральную оценку качества работы сети — определяет скорость выполнения файловых операций. Данная оценка называется интегральной потому, что наличие любого дефекта в сети или ее высокая утилизация обязательно отразятся на скорости выполнения файловых операций. Поэтому если скорость выполнения файловых операций высокая, то остальные характеристики (число ошибок передачи данных, утилизация сети и т.п.), как правило, можно не анализировать, а если она низкая, то требуется провести анализ других характеристик работы сети, чтобы определить причину этого.
Низкая скорость выполнения файловых операций в сети чаще всего бывает следствием двух обстоятельств. Первое — дефект или высокая загруженность канала связи сети. Когда он построен на базе управляемых коммутаторов Ethernet, то качество работы канала связи можно проверить с помощью теста оценки «здоровья» коммутаторов Ethernet, рассмотренного выше. Второе обстоятельство — дефект или высокая загруженность файлового сервера. Если используется сервер на базе ОС MS Windows, то проконтролировать качество его работы удастся с помощью теста оценки «здоровья» серверов MS Windows NT4/2000/XP. Данный тест основан на выполнении в сети файловых операций и измерении времени их выполнения, которое характеризует «здоровье» отрезка сети («линка») между одним компьютером, где проводится тест, и другим ПК, на котором расположена сетевая папка и с которым осуществляются файловые операции.
После запуска программа предлагает ввести для каждого тестируемого «линка» полный путь до сетевой папки (UNC Path), тип соединения (Ethernet, Fast Ethernet и т.д.), тип ОС, установленной на том компьютере, где расположена сетевая папка (MS Windows NT, Novell Netware и т.д.). Затем программа начинает автоматически выполнять файловые операции с указанными сетевыми папками. Параметры файловых операций (размер файла, размер записи, процентное соотношение операций чтения/записи и т.п.) и их интенсивность настраиваются в параметрах теста, по умолчанию установленных таким образом, чтобы тестовый трафик не сказывался на работе пользователей сети и чтобы тестовый файл, создаваемый на файл-сервере, полностью кэшировался в его оперативной памяти.
В этом тесте как значимые измеряются следующие параметры, приведенные в табл. 3.
Скорость выполнения операций чтения/записи (Кбайт/с) — отношение объема данных, прочитанных (или записанных) с файл-сервера, ко времени выполнения операции чтения/записи. Программа обеспечивает отключение механизма кэширования данных на той стороне компьютера, где выполняется тест. Это гарантирует измерение реального времени выполнения файловых операций в сети, поскольку иначе измерялось бы время выполнения операции чтения/записи в собственную кэш-память.
Пороговые значения времени выполнения файловых операций зависят от множества переменных, например от типа используемого соединения (Ethernet, Fast Ethernet, wireless 802.11a, wireless 802.11b и т.д.), от типа ОС, установленной на том компьютере, где расположена сетевая папка (MS Windows NT, Novell Netware и т.д.), а также от типа сетевого клиента. Экспериментальным путем мы подобрали пороговые значения скоростей выполнения файловых операций для различных сочетаний этих переменных. Некоторые из них приведены в табл. 3, а остальные встроены в модули знаний программ SelFTrend и NPM Probe.
Разработка других оценочных тестов
В настоящее время программа SelFTrend и оценочные тесты являются средством первичной диагностики компьютерных сетей. Их можно эффективно использовать для тестирования локальных и распределенных сетей передачи данных. Однако возможности программы SelFTrend существенно шире — она может эффективно применяться не только для диагностики сетей. Дело в том, что оценочные тесты программы SelFTrend реализованы таким образом, что создание новых оценочных тестов и изменение правил работы «светофора» производятся без доступа к коду программы SelFTrend и сводятся только к добавлению соответствующей информации в XML-файлы. Это позволяет пользователям программы SelFTrend самостоятельно разрабатывать самые различные оценочные тесты, например, создать тесты, управляющие работой специфического оборудования (скажем, источников бесперебойного электропитания), или «модуль знаний», отражающий специфику работы их сети.
Авторы приглашают желающих принять участие в разработке новых оценочных тестов.
ОБ АВТОРАХ
Сергей Семенович Юдицкий — ген. директор компании ProLAN, ssy@prolan.ru,
Станислав Игоревич Кузубов — эксперт компании ProLAN, stas@prolan.ru