Получение неудавшихся запросов с помощью Apache Benmark на сайте Tornado с балансировкой нагрузки, но ни один не зарегистрирован - PullRequest
2 голосов
/ 03 июня 2011

Возможно, это вопрос об а, а не о Торнадо, но что-то не имеет смысла.

Я запускаю бенчмарк так:

$ ab -n 100 http://localdomainname/ # 2 tornados being 1 nginx
 ...
Concurrency Level:      1
Time taken for tests:   0.162 seconds
Complete requests:      100
Failed requests:        17
   (Connect: 0, Receive: 0, Length: 17, Exceptions: 0)
Write errors:           0

Итак, согласно этому 17 из 100 запросов не были выполнены.

Перед запуском теста я сбросил файлы журналов и снова посмотрел на них:

$ wc -l /tmp/gkc.access.log 
100 /tmp/gkc.access.log
$ cat /tmp/gkc.access.log | grep ' 200 ' | wc -l
100

Итак, согласно Nginx, ни один запрос не сработал!Почему ab сказать 17 из 100 не удалось?

(Кстати, 17 из 100 был только один пример. Он идет вверх и вниз, но никогда не 0, как я ожидал)

ОБНОВЛЕНИЕ

После тестирования сhttperf, не касаясь настройки Tornado + Nginx, я получаю 0 неудачных запросов.

1 Ответ

11 голосов
/ 06 ноября 2011

Вы получаете «длину» неудавшихся запросов, что не означает, что код ответа не был 200. Это просто означает, что длина ответа на запросы была разной (запоминается длина первого).

Подробно этот вопрос обсуждался в этом вопросе: Нагрузочное тестирование с AB ... поддельные неудачные запросы (длина)

...