пятница, 13 ноября 2009 г.

JMeter: Начало.

Итак, дошли руки до JMeter. Удалось попробовать базовую функциональность - закидывание определенного адреса реквестами.
Так как мой сервер (а в данном случае в его роли выступал многострадальный tomcat 5.5.25) располагался локально то пришлось проделать следующие действия:
  1. добавить в воркбенч non-test element -> HTTP Proxy server
  2. в этом прокси настроить прослушиваемый порт
  3. стартануть прокси
  4. в фаерфоксе настроить выполнение всех реквестов через локальную прокси. это выполняется во вкладке "Сеть". Кроме того следует убрать дефолтовые фильтры фаерфокса, которые не пускают запросы на локалхост через прокси.
  5. Вбиваем нужный урл, он летит через ЖМетр, тот его ловит, сохраняет.
  6. Добавляем в тест план Thread group. Это своего рода контейнер для тестов, аналог ЖЮнитовского ТестСьюта. Копируем сохраненный реквест в Thread Group. Изменяем по необходимости параметры реквеста.
  7. Устанавливаем параметры Thread Group. Ramp-up period - период "разогрева". Время за которое стартанут все потоки. Стартуют они равномерно, так что если период 100 сек а потоков 10, то каждую 10ю секу будет стартовать поток пока их не станет 10. Loop count - кол-во запросов, которые каждый поток кинет. Лупы одного потока независимы от лупов других. Так что следует быть внимательным при настройке комбинации периода разогрева и кол-ва лупов, потому как можно придти к тому, что каждый добавляемый поток будет успевать откидать свои реквесты ранее, чем стартанет его коллега.
  8. Что ВАЖНО, никаких результатов мы не увидим, если не добавим листенера(ов). Листенера можно добавлять как для отдельных тестов так и для всего Thread Group. Я использовал Summary Report и Graph Results.
  9. Стартуем тест Run -> Start.
Что на данный момент не понравилось:
  • ограниченность графика в Graph Results, после заполнения всего отведенного места, график начинает начинает с самого начала, рисуя поверх себя.
  • я не нашел способа сохранить целый график, сохраняется лишь какая-то часть в зависимости от положения полоски прокрутки =(
  • при остановке теста (если был выбран вариант бесконечного выполнения либо если вы переоценили скорость своего сервера при нагрузке =) ) ЖМетр трактует все выполняющиеся на данный момент реквесты как неудачно выполненные серваком, что в итоге портит окончательный процент отвергнутых сервером запросов.
Возможно все перечисленные моменты вызываны тем, что я просто не нашел, как они устраняются.
Также отмечу, что при сохранении результата Summary Report в формате csv вы получите более точные значения.

Комментариев нет:

Отправить комментарий