Алан Франк
Если вы не вполне уверены в
эффективности работы своей сети, то продукт Chariot производства фирмы Ganymede
Software поможет вам рассеять или утвердиться в своих сомнениях.
Почему на
файловом сервере один сетевой адаптер работает лучше другого? Если какая-то
сетевая плата показывает на вашем файловом сервере наилучшую производительность,
значит ли это, что она окажется лучшей и для клиентских рабочих станций?
Насколько хорошо система будет функционировать в качестве файлового сервера?
А в роли сервера Web? Сможет ли она одновременно выполнять и те и другие
обязанности? Возможно, вам приходилось задавать себе подобные вопросы. На
большинство из них можно ответить, лишь выполнив в сети те или иные тесты.
ПО Chariot
производства компании Ganymede Software представляет собой тестовую систему
для измерения производительности сети. Ganymede считает, что ее продукт
подходит для выполнения таких задач, как тестирование производительности
сетевого программного и аппаратного обеспечения, сравнение конкурирующих
сетевых продуктов перед их покупкой, идентификация источника проблем в сети,
прогнозирование эффективности выполнения новых приложений, измерение
производительности сети, ее настройка, предотвращение простоя сети после
изменения ее конфигурации путем тестирования в условиях высокой нагрузки,
мониторинг производительности служб, предоставляемых поставщиком сетевых
услуг.
Для решения
задач диагностики сети и мониторинга ее производительности системный
администратор может выбирать разнообразные инструменты. Вопрос в том, какой
инструмент лучше подходит для той или иной цели и как выбрать верный
инструмент для решения конкретной задачи?
НАБОР
НЕОБХОДИМЫХ СРЕДСТВ
Входящие в
пакет мониторы и анализаторы протоколов представляют собой мощные
инструментальные средства, позволяющие видеть, что происходит в сети.
Мониторы пакетов сообщают о трафике в некотором сетевом сегменте. Обычно они
подсчитывают пакеты от каждого сетевого узла или протокола, а также
превосходно справляются с задачей выявления перегруженных сегментов сети и
измерения эффекта от перемещения сетевых узлов из одних сегментов в другие
(для лучшего распределения нагрузки). Кроме того, мониторы пакетов полезны в
качестве инструментального средства получения базовых характеристик сети; они
позволяют прогнозировать, когда сегменты достигнут насыщения.
Аналогично
мониторам пакетов, многие протокольные анализаторы также позволяют
осуществлять мониторинг уровня трафика в сети, но главное их предназначение
состоит в сборе и декодировании пакетов. Это превращает анализаторы
протоколов в мощный "микроскоп", позволяющий видеть все, что происходит
в сети, с необходимой степенью детализации. В руках опытного диагностика они
могут стать мощным инструментом для быстрого устранения проблем в сети. Между
тем во многих отношениях анализаторы протоколов больше подходят для выявления
и устранения конкретных проблем, чем для общего контроля производительности.
Для
тестирования коммутаторов и маршрутизаторов в условиях высокой нагрузки
удобно применять генераторы кадров. Их можно запрограммировать на генерацию кадров
на конкретный адрес. В то же время они, как правило, не имитируют реальной
работы сети.
Сети
реализуются на основе модели клиент-сервер: обычно сетевой клиент обращается
с конкретным запросом к серверу. Например, клиент может запросить на сервере
файл. В ответ сервер посылает файл фрагментами, поскольку многие файлы
превышают по размеру максимально допустимый размер кадра. Таким образом, в
первом пакете сервер передает столько данных, сколько может, а затем ожидает
получения от клиента пакета с подтверждением, из которого сервер узнает, что
пакет данных получен в целости и сохранности. Если клиент обнаруживает
ошибочный пакет, то запрашивает его повторную передачу. Получив
подтверждение, сервер отправляет следующий пакет данных.
Данный
процесс продолжается до тех пор, пока не будет передан весь запрошенный файл.
(Заметим, однако, что многие сетевые протоколы допускают передачу нескольких
пакетов данных, на которые возвращается одно подтверждение, что повышает
эффективность передачи данных, но не меняет базового принципа работы.) Это
метод "запрос/ответ... запрос/ответ", он более сложен, чем простой
поток пакетов, создаваемый генератором кадров. При тестировании таких
продуктов, как сетевые платы или коммутаторы, мы всегда стараемся использовать
в тестах трафик, максимально отвечающий реальному режиму функционирования
сети. Например, представители одной из школ предполагают применять во всех
эталонных тестах только настоящие сетевые приложения. Идея, безусловно,
хороша, но ее нередко бывает трудно реализовать. Например, если вы
используете в работе такое приложение, как Lotus Notes или систему
электронной почты, то придется каким-то образом автоматизировать ввод в
приложение информации с клавиатуры и измерение времени реакции.
CHARIOT:
ПЕРВОЕ СВИДАНИЕ
ПО Chariot
компании Ganymede разработано для тестирования сетей клиент-сервер, поэтому
оно генерирует потоки данных по типу "запрос/ответ...
запрос/ответ", характерному для такой сетевой среды. По сути Chariot -
это комплекс эталонных тестов, причем тесты представляют собой фиксированные
процедуры. Тем не менее Chariot не учитывает характерного поведения реальных
сетевых приложений. Комплект тестов этого пакета выполняет простые операции
чтения и записи файлов для имитации работы файлового сервера (команды ftp Put
и Get), а также имитирует передачу данных в Lotus Notes и World Wide Web.
Chariot
состоит из консоли Chariot и оконечных программных агентов. Консоль реализует
интерфейс с тестовой системой Chariot. Ее можно рассматривать как командную
консоль. Именно с ее помощью осуществляется компоновка и администрирование
выполняемых тестов. Оконечные программные агенты инсталлируются на тех
сетевых узлах, которые вы хотели бы включить в процесс тестирования сети.
Например, если вас интересует, насколько хорошо файловый сервер способен
поддерживать группу сетевых клиентов, то агентов следует установить на
сервере и на каждом клиенте. Chariot поставляется с программными агентами для
различных операционных систем, включая ряд разновидностей UNIX, таких как IBM
AIX, Digital UNIX, HP-UX, Linux, NCR MP-RAS и Sun Solaris, а также для ОС
OS/2, NetWare, Windows 3.1, Windows 95 и Windows NT (для платформы x86 и Alpha).
Агенты имеются даже для ОС IBM MVS. Такое разнообразие платформ ОС крайне
важно, поскольку реальные сети обычно неоднородны, т. е. включают в себя
разные платформы.
Chariot
понимает несколько сетевых протоколов, в том числе UDP, TCP, IPX, SPX и APPC
(Advanced Program-to-Program Communications) компании IBM. Тесты Chariot
проверяют возможность взаимодействия между парами конечных пунктов в сети,
что весьма кстати, так как в сетях с архитектурой клиент-сервер участвуют две
стороны: клиент и сервер. Один конечный пункт выполняет роль клиента, а
другой - сервера. При настройке тестов Chariot выбираются конечные пункты Endpoint
1 и Endpoint 2. Для имитации работы реальной сети допускается задание в любом
тесте нескольких пар одновременно взаимодействующих конечных пунктов. В
зависимости от характера теста, каждая пара конечных пунктов может выполнять
свой сценарий тестирования или работать по единому сценарию.
УСТАНОВКА
CHARIOT
ПО Chariot
поставляется на CD-ROM, поэтому для его установки необходим компьютер с
дисководом CD-ROM (или машина, имеющая доступ к такому дисководу по сети).
Консоль Chariot представляет собой 32-разрядное приложение, функционирующее
на компьютере с ОС Windows NT или OS/2. Она служит центральным пунктом
управления процессом тестирования Chariot. Компьютер, на котором
функционирует программа консоли, должен иметь процессор 80386 или более мощный
(рекомендуется Pentium), не менее 16 Мбайт оперативной памяти и 16 Мбайт
свободного пространства на диске. Для данного испытательного стенда мы
инсталлировали консоль на лабораторном сервере Windows NT по имени
LANLAB_NT1. Это машина Hewlett-Packard NetServer LH с процессором Pentium на
100 МГц, 48 Мбайт оперативной памяти и жестким диском объемом 1 Гбайт. На ней
установлена операционная система Windows NT Server 4.0. Инсталляция программы
консоли автоматизирована с помощью InstallShield. Весь процесс сводится к
вставке компакт-диска в дисковод CD-ROM, вызову окна для ввода команд, набору
команды SETUP и ответу на несколько вопросов (таких как "Укажите целевой
каталог для инсталляции ПО").
Кроме того,
инсталляционная процедура устанавливает на машине с консолью программного
агента. Агенты для Windows NT выполняются как сервисы NT и конфигурируются
службой агентов Chariot для автоматического запуска при загрузке Windows NT.
Таким образом, вы должны иметь полномочия администратора (или эквивалентные
права), иначе инсталлировать сервис NT будет невозможно. Это означает, что
перед запуском программы Setup необходимо зарегистрироваться в NT как Administrator.
Кроме
инсталляции консоли вам потребуется установить агентов Chariot на каждом
компьютере, участвующем в тестах Chariot. Предъявляемые агентами требования
зависят от типа платформы, на которой они работают, но обычно рекомендуется
процессор 80486 или более мощный, 16 Мбайт RAM и от 4 до 8 Мбайт на диске (за
исключением агента MVS Endpoint). Агент для ОС Solaris требует компьютер на
базе процессора SPARC с 32 Мбайт оперативной памяти. Кроме агента, которого
мы инсталлировали при установке консоли на нашем сервере Windows NT, агенты
были установлены на файловом сервере NetWare 3.12 и паре систем Windows 95. Агент
NetWare функционирует как загружаемый модуль NetWare (NLM). Процедура
инсталляции добавляет программного агента в папку Startup ("Автозапуск")
Windows 95, поэтому он начинает работать автоматически при запуске Windows.
Программные агенты находятся в состоянии ожидания, пока не получат задание на
выполнение теста с консоли Chariot. Затем они начинают действовать, исполняя
выбранный сценарий тестирования. При завершении теста Endpoint 1 сообщает
консоли о результатах.
РАБОТА
С CHARIOT
После
инсталляции консоли Chariot и агентов все готово для проведения тестов. С
машины, выделенной под консоль Chariot, программа консоли запускается щелчком
мыши на приложении Chariot (находящемся в подкаталоге \CHARIOT). Она выводит
основное окно консоли Chariot. Кнопка New (или пункт New меню File) открывает
окно Chariot Test, где можно определить новый тест Chariot. При выборе в меню
Edit пункта Add an Endpoint Pair появляется диалоговое окно для задания
конечных пунктов. Данное диалоговое окно позволяет ввести сетевые адреса
конечных пунктов Endpoints 1 и 2, а также указать применяемый в тесте
протокол. Если используется протокол IPX или SPX (собственные протоколы Novell),
конечные адреса необходимо задать в виде номера сегмента IPX, двоеточия и
MAC-адреса. В качестве альтернативы можно указать для каждого узла
имя-псевдоним IPX, что упрощает назначение конечных пунктов.
В тестах с
применением протоколов TCP или UDP для каждой конечной точки следует ввести
IP-адрес, однако если в сети имеется служба DNS, можно просто указать имя
конечного пункта - Chariot воспользуется DNS для определения IP-адреса узла.
Кроме того,
диалоговое окно Add an Endpoint Pair позволяет выбирать сценарий теста для
выполнения. Сценарий File Send передает файл из пункта Endpoint 1 в пункт Endpoint
2. Этот сценарий эмулирует происходящее в сети, когда клиент сохраняет файл
на файловом сервере. Стандартные параметры сценария File Send (их можно
изменить) определяют передачу файла размером в 100 000 байт, причем программа
повторяет эту операцию 100 раз. Технология Short Connection означает, что
соединение между пунктами Endpoint 1 и Endpoint 2 открывается и закрывается
при каждой передаче файла. Сценарии File Send и Long Connection практически
одинаковы. Отличие состоит в том, что в сценарии File Send соединение
устанавливается один раз и не закрывается до завершения выполнения сценария.
Тест
запускается щелчком на кнопке Run (третьей слева в панели инструментов) в
окне Chariot Test. При завершении теста результаты отображаются графически в
окне Test. Под панелью инструментов в окне Test выводится набор закладок по
типу записной книжки, позволяющих открывать различные вкладки с данными,
относящимися к тесту и конфигурации. Щелчок мышью на вкладке Throughput
позволяет помимо графического представления вывести результаты теста в
табличной форме, с указанием минимальной, максимальной и средней пропускной
способности.
Единственное
мое недоумение вызвал способ определения минимума и максимума пропускной
способности в случае нескольких пар. Я предпочел бы интерпретировать данные в
графе All Pairs как суммарное значение для всех используемых в тесте пар. Что
касается средней пропускной способности (Average Throughput), то Chariot
работает так, как я и ожидал: приложение берет показатели Average Throughput
для пар Pair 1 и 2 и складывает их. При определении минимальной пропускной
способности (Minimum Throughput) Chariot использует наименьшее значение среди
всех пар, в данном случае это была пара Pair 2, и сообщает его в качестве
общего показателя для всех пар (All Pairs). Как было сказано выше, я
предпочел бы видеть минимальную суммарную пропускную способность. При
вычислении максимальной пропускной способности (Maximum Throughput) Chariot
берет наибольшие из значений для пар 1 и 2 и показывает его в графе All Pairs.
Здесь мне также хотелось бы видеть суммарную пропускную способность. Конечно,
суммарные значения представляют интерес прежде всего, если все пары находятся
в одном сетевом сегменте или если во всех тестах используется один и тот же
сервер. Наличие такого показателя позволяет судить об общей нагрузке на
сетевой сегмент или сервер.
ПО Chariot
имеет просто несравненный комплект сценариев тестов. Кроме File Send и File Receive
предусмотрены сценарии для операций ftp Put и Get, терминальных сеансов telnet,
запросов страниц и графики Web (файл GIF), передачи сетевых новостей Network News,
операций с кредитными карточками и др. Сценарий для Lotus Notes имитирует
проверку клиентом Notes наличия новых сообщений электронной почты. Еще один
сценарий Notes моделирует прием клиентом Notes сообщений электронной почты, а
третий - процесс передачи почты.
ВАШ
ТЕСТОВЫЙ ИНСТРУМЕНТ?
Насколько ПО Chariot
подойдет для вашего случая? Это зависит от того, что вы хотите делать и что
именно пытаетесь выяснить. Chariot является неплохим инструментом для
тестирования сетевых компонентов, таких как адаптеры, стеки протоколов,
мосты, маршрутизаторы и т. д.
Тесты Chariot
запускаются из памяти. Это означает, что, если, например, пункт Endpoint 1
запрашивает файл из пункта Endpoint 2, то Endpoint 2 не считывает файл со
своей дисковой подсистемы, а берет и отправляет его из памяти. Таким образом,
тест не учитывает производительность диска. Если вы хотите определить,
насколько эффективно функционирует в вашем файловом сервере плата сетевого
интерфейса, то Chariot будет подходящим инструментом для выполнения этой
работы.
Если бы ПО Chariot
не исключало из процесса тестирования дисковую подсистему, то диск вполне мог
бы вполне оказаться "узким местом" в работе файлового сервера, а
это затруднило бы оценку и анализ влияния сетевых плат на производительность
сервера. Между тем если вы хотите всесторонне оценить производительность
файлового сервера, то, вероятно, желательно будет принять в расчет и дисковую
подсистему. Для такой оценки понадобится какой-то другой пакет эталонного
тестирования. В наших тестах Chariot показал себя как гибкая система, которую
можно применять для проверки функционирования различных приложений. Многие
реальные сети объединяют в себе разные компьютерные платформы, работающие с
разными протоколами. Здесь вам пригодится реализуемая Chariot поддержка
большого числа платформ и нескольких протоколов, что позволяет тестировать
самые необычные сетевые среды.
|