2016-11-13 5 views
0

У меня есть 20 API-интерфейса Rest API с использованием Jersey и Apache Client. Я хочу знать максимальный TPS, который мой сервер может выдержать, используя инструмент JMeter. Какой лучший способ достичь такой цели сценария эффективности.Какой лучший способ получить максимальный tps-сервер может поддерживать

+0

Если вы пытаетесь измерить производительность сервера, затем [Apache Benchmark (AB)] (http://httpd.apache.org/docs/2.4/programs /ab.html) или [HTTPerf] (https://github.com/httperf/httperf) было бы лучшим решением. – Adnan

+0

@Adnan 'ab' на самом деле не очень хороший инструмент. У него серьезные проблемы с резьбой, и в большинстве случаев их следует рассматривать как игрушку. Если вы хотите применить реальную нагрузку, используйте настоящий инструмент тестирования нагрузки, например 'JMeter (если вы хотите придерживаться продуктов Apache). –

+0

Спасибо alot @ChristopherSchultz – SuryaVeepuri

ответ

1
  1. Прежде всего создайте план тестирования. Я считаю, что он должен иметь как минимум 20 HTTP Request пробоотборников для покрытия всех ваших конечных точек и HTTP Header Manager, чтобы отправить правильный заголовок Content-Type. См. Статью Testing SOAP/REST Web Services Using JMeter.
  2. Как только у вас есть план тестирования - запустите его с помощью 1-2 виртуальных пользователей, чтобы проверить, что он делает то, что он должен делать. Проверьте информацию о запросах и ответах с помощью прослушивателя View Results Tree. При необходимости измените запросы.
  3. Настройки вашего Thread Group (s), так что нагрузка увеличивается постепенно , т.е. обеспечить разумное время разгона
  4. После того, как вы счастливы с тестом поведением отключить The View Results Tree слушателя и run your test in non-GUI mode
  5. Анализировать результаты используя HTML Reporting Dashboard. Значение, которое интересует вас живет в Hits Per Second графа
+0

Спасибо alot Dmitri.Should мне нужно увеличить нагрузку поэтапно, чтобы записать максимальный TPS? Есть ли необходимость включать thinktime в такого рода сценарии – SuryaVeepuri

+0

Я считаю, что вы всегда должны увеличивать нагрузку постепенно, иначе вы не получит полную картину, демонстрирующую соотношение прихода виртуальных пользователей с приложением в тестовом режиме. Что касается thinktime, то обычно это не требуется для прямых тестов API, однако, если вы имитируете, то есть мобильное приложение - это следует учитывать. См. [Подробное руководство по использованию таймеров JMeter] (https://www.blazemeter.com/blog/comprehensive-guide-using-jmeter-timers) для получения более подробной информации. –

Смежные вопросы