Не удалось расшифровать выходные данные Autobench.
-
22-09-2019 - |
Вопрос
Я пытаюсь протестировать простой веб-сервер, который я написал, но у меня возникли проблемы с расшифровкой результатов Autobench.Я повсюду искал помощи по этому поводу (даже просматривая исходный код autobench и httperf), но не смог понять, что происходит.
Я запустил на своем сервере следующий тест:
autobench --single_host --host1 10.0.1.5 --port1 5555 --uri1 /Tests --quiet --low_rate 20 --high_rate 200 --rate_step 20 --num_call 10 --num_conn 5000 --timeout 5 --file results.csv
Вот мой файл results.csv (с дополнительными пробелами для удобства чтения):
dem_req_rate,req_rate,con_rate,min_rep_rate,avg_rep_rate,max_rep_rate,stddev_rep_rate,resp_time,net_io,errors
200, 40.0, 20.0, 20.0, 20.0, 20.0, 0.0, 6.2, 15.6, 100
400, 80.0, 40.0, 40.0, 40.0, 40.0, 0.0, 6.4, 31.2, 100
600, 119.9, 60.0, 57.0, 59.9, 61.4, 0.9, 17.9, 46.8, 100.160256410256
800, 159.5, 79.9, 76.0, 79.5, 82.4, 2.1, 32.5, 62.1, 100.48231511254
1000, 155.9, 94.0, 55.8, 64.7, 75.8, 6.2, 129.4, 50.4, 151.975683890577
1200, 156.7, 112.6, 28.0, 45.5, 63.2, 11.3, 148.0, 38.9, 255.232261357836
1400, 154.7, 121.8, 22.2, 38.1, 51.6, 9.3, 175.6, 34.2, 328.299409061064
1600, 154.5, 134.7, 15.6, 28.7, 52.8, 13.3, 211.6, 27.7, 498.504486540379
1800, 143.5, 138.7, 3.2, 18.6, 41.0, 11.7, 185.1, 21.1, 768.049155145929
2000, 158.8, 159.4, 5.6, 18.0, 45.6, 14.6, 234.7, 21.6, 925.925925925926
Мне любопытно:
Что значит dem_req_rate
иметь в виду?Что значит net_io
иметь в виду?Что значит errors
иметь в виду?Как errors
относится к dem_req_rate
?В каких единицах это все находится?
Решение
Привет, я тоже искал:
dem_req_rate = num_call * curr_rate
гдеcurr_rate
ставка передается наhttperf
в зависимости от номера итерации и настройкиrate_step
,low_rate
иhigh_rate
параметры (мужская автоскамья подробнее об этих параметрах)net_io
= средняя пропускная способность сети в килобайтах в секунду КБ/с
этоNet I/O
отhttperf
изMiscellaneous Section
своей продукции и справочная страница(не связано)errors
этоTotal errors
изErrors Section
изhttperf
результаты и их справочная страница(не связано)
Другие советы
Только man httperf
вы найдете подробную информацию.
Ошибками должен быть % ошибок, но в моей версии автобенча (2.1.1) значение рассчитывается неправильно.
Это:
$results{percent_errors} = ( 100 * $results{errors} / $results{replies} );
Должен быть:
$results{percent_errors} = ( 100 * $results{errors} / ($results{replies} + $results{errors}) );