Изменение данных POST, используемых Apache Bench за одну итерацию - PullRequest
15 голосов
/ 08 апреля 2010

Я использую ab для некоторого нагрузочного тестирования, и важно, чтобы поставляемые параметры строки запроса (или POST) менялись между запросами.

т.е. Мне нужно делать запросы к URL-адресам, таким как:

http://127.0.0.1:9080/meth?param=0
http://127.0.0.1:9080/meth?param=1
http://127.0.0.1:9080/meth?param=2
...

для правильного применения приложения.

ab, кажется, читает только предоставленный файл данных POST один раз при запуске, поэтому изменение его содержимого во время тестового прогона не вариант.

Есть предложения?

Ответы [ 3 ]

13 голосов
/ 21 апреля 2010

Для этого вам понадобится более полнофункциональный инструмент тестирования производительности, такой как jMeter .

0 голосов
/ 13 июня 2015

Вот исправленная версия ab или patch: http://www.andboson.com/?p=1372

в эту версию включен этот патч http://chrismiles.info/dev/testing/ab также может читать много пост-данных построчно

UPD: запрос образца:

./ab -v1 -n2 -c1 -T'application/json' -ppostfile http://api.webhookinbox.com/i/HX6mC1WS/in/

содержание постфайла:

{"data1":1, "data2":"4"} {"data0":0, "x":"y"}

UPD2:

также альтернатива https://github.com/andboson/ab-go

0 голосов
/ 23 ноября 2010

Добавьте мою рекомендацию для jMeter ... она работает очень хорошо!

Вы также можете создать скрипт, который создает второй скрипт с чем-то вроде:

ab -n 1 -c 1 'http://yoursever.com/method?param=0' & ab -n 1 -c 1 'http://yoursever.com/method?param=1' & ab -n 1 -c 1 'http://yoursever.com/method?param=2' & ab -n 1 -c 1 'http://yoursever.com/method?param=3' & ab -n 1 -c 1 'http://yoursever.com/method?param=4' &

Но это действительно полезно, если вы пытаетесь симулировать нагрузку и наблюдать за своим сервером. Фактические тесты должны быть сопоставлены, если вы хотите проверить производительность. В этот момент я бы просто использовал jMeter. Для моего использования мне просто нужно смоделировать нагрузку, и процессы ab достаточно легки, чтобы запустить 100, как это, не проблема.

...