Сайт Андрея Зайчикова
|
|
Если все вместе.Александр Авдуевский (LAN, апрель 2001г.)
Проверка сервера Web на выносливость.
По мере того как технология Web укрепляет свои позиции в качестве средства обеспечения бизнеса, растут и требования к доступности и производительности ресурсов Web, и в первую очередь это касается серверов Web. Время идет, требования меняются, и для тестирования того, насколько хорошо серверы Web справляются с нагрузкой, необходимы мощные утилиты. А нука, взялись...
Весьма удачным, на наш взгляд, является продукт WebStress независимого разработчика по имени Дирк Пасслер. Найти эту программу наряду с другими можно на сервере с говорящим за себя адресом: http://www.web-server-tools.com. Основная задача WebStress - имитировать одновременную работу нескольких пользователей. В незарегистрированной условно-бесплатной версии количество виртуальных пользователей ограничено пятью, в зарегистрированной - только производительностью компьютера, канала и ограничениями стека TCP/IP. Разработчик рекомендует запускать программу на Windows 2000 или NT, чтобы не возникало проблем при большом числе одновременно открытых сессий.
Утилита предлагает два основных вида тестов: первый предназначен для проверки работы сервера при заданном числе пользователей, второй - для исследования зависимости отклика сервера и количества ошибок при ответе на запросы от числа одновременно работающих пользователей. Результата тестов отображаются графически, причем в случае второго режима работы (Ramp Test) графики позволяют увидеть и корреляцию (или ее отсутствие) между ухудьшением времени отката и количества ошибок. Если мы хотим приблизить условия тестирования к реальным, то на этот случай утилиты позволят задействовать не один, а несколько URL тестируемого сервера. Это особенно актуально, когда пользователи могут одновременно читать документы HTML, запускать сценарии CGI и обращаться к каким-то внешним (по отношению к серверу Web) приложениям. Разумеется, при задании большого количества виртуальных пользователей обращения должны осуществлятся по локальной сети, поскольку наш собственный канал Internet может просто не справиться с такой нагрузкой, что существенно повлияет на результаты теста. WebStress может работать через proxy-сервер и поддерживает аутентификацию (если требуется) и различные способы взаимодействия с посредником. В целом WebStress ведет себя как типичный браузер, благодаря чему тест оказывается абсолютно аутентичным. При необходимости можно задействовать даже поддержку "плюшек". Более того, саму утилиту можно использовать в качестве браузера. Это, разумеется, нужно не для того, чтобы отказаться от привычных Explorer и Navigator, а в целях контроля за результатами тестов. Например, проводя тест с измерением времени загрузки, помимо секундомера и статистики хода процесса мы можем одновременно наблюдать процесс загрузки "вживую". Возможность просмотрель, как это происходит во время массового теста, т.е. при сильно нагруженном сервере, очень полезна. Например, она позволяет обнаружить такой характерный симптом перегрузки, как неполное отображение графики. Помимо окон браузера, WebStress представляет еще достаточно большой объем дополнительной информации, в частности протокол сеансом. В жернал записывается первый отклик сервера, последовательность загрузки различных объектов, в том числе и "плюшек". В качестве дополнительной информации в руководстве к программе рекомендуется использовать и показания монитора производительности сервера (обычная утилита практически для любой платформы). Построенные монитором производительности графики можно сопоставить с результатами тестов и таким образом попытаться выявить причины и следствия.
Заключение.
Как и подавляющее большинство условно-бесплатных утилит, WebStress не дает исчерпывающей картины присходящего, и анализ результатов тестов придется делать самому. Тем не менее стоит отметить, что в этой утилите недостаток аналитических функций компенсируется большим объемем предоставляемой информации. В честности, возможность лицезреть, как именно нагрузка на сервер отражается на экранах пользователей, подчас может стоить объемистого файла с параметрами работы сервера.
Об авторе
Александр Авдуевский - обозреватель LAN. С ним можно связаться по адресу: shura@lanmag.ru.
|