Что дает правильные измерения, JMeter или Apache ab?

Я начал писать некоторые базовые тесты в JMeter и был удивлен, что измерения настолько отличаются от измерений Apache ab.

У меня есть гигабитная локальная сеть, соединяющая сервер Intel i7 с Nginx и тестовую машину i5 с JMeter или ab. Сначала я просто проверяю -из -скорости отклика домашней страницы Nginx.

ab -c 1 -n 100 http://testserver.local/

дает

Document Path:          /
Document Length:        151 bytes

Concurrency Level:      1
Time taken for tests:   0.078 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      38400 bytes
HTML transferred:       15100 bytes
Requests per second:    1280.77 [#/sec] (mean)
Time per request:       0.781 [ms] (mean)
Time per request:       0.781 [ms] (mean, across all concurrent requests)
Transfer rate:          480.29 [Kbytes/sec] received

Этот результат стабильно воспроизводим, +/-несколько процентов.


В JMeter у меня есть 1 -пользовательская 100 -группа циклических потоков, содержащая:

  • настройку диспетчера заголовков HTTP Accept -Encoding :gzip
  • HTTP Get/sample
  • слушатель сводного отчета

Всего со 100 образцами каждый раз, когда я его запускаю, он дает крайне противоречивые результаты.Но самым поразительным фактом является то, что пропускная способность составляет всего 40 запросов в секунду (, а не 1280 ). Максимальный зарегистрированный показатель был 1030, и это было достигнуто только тогда, когда я увеличил до 10 000 сэмплов.

Правильно ли я считаю, что JMeter — неподходящий инструмент для простых нагрузочных тестов, потому что его накладные расходы слишком высоки для обеспечения точных измерений?

38
задан Greg Dubicki 5 February 2015 в 21:43
поделиться