Изменение данных POST, используемых Apache Bench за итерацию

Я использую 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 один раз при запуске, поэтому изменение его содержимого во время тестового прогона не является вариантом.

Любые предложения?

Ответы

Ответ 1

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

Ответ 2

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

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

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' &

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

Ответ 3

Вот исправленная версия 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