Назад | Перейти на главную страницу

Что означает «получение» и «исключения» в ab (Apache Benchmark) «сбои»?

Получение этого результата от ab:

Уровень параллелизма: 10000

Время на тесты: 69,153 секунды

Выполненных запросов: 30000

Неудачные запросы: 10379

(Подключить: 0, Получение: 3424, Длина: 3531, Исключения: 3424)

Ошибок записи: 0

Всего передано: 48414203 байта

Передано HTML: 41042477 байт

Запросов в секунду: 433.82

[# / сек] (среднее)

Что ТОЧНО означает получение и исключения. Спасибо.

Из http://httpd.apache.org/docs/2.2/programs/ab.html ,

Failed requests
The number of requests that were considered a failure. If the number is greater
than zero,another line will be printed showing the numer of requests that
failed due to connecting, reading, incorrect content length, or exceptions.

Если вы тестируете «динамическую» страницу, длина контента изменится, что может привести к сбою. Примерами являются реклама или изображения, а также различные результаты на странице.

Я предполагаю, что исключения - это просто исключения, которые приложение создает на странице.

Частота отказов может быть высокой, потому что ваше внутреннее приложение может не выдерживать нагрузку или соединения.

ОБНОВЛЕНИЕ: Из исходного кода ab, получение (счетчик err_recv) означает

/* catch legitimate fatal apr_socket_recv errors */
    else if (status != APR_SUCCESS) {
        err_recv++;
        if (recverrok) {
            bad++;
            close_connection(c);
            if (verbosity >= 1) {
                char buf[120];
                fprintf(stderr,"%s: %s (%d)\n", "apr_socket_recv", apr_strerror(status, buf, sizeof buf), status);
            }
            return;

Это в основном означает, что у вашего apache / веб-сервера возникли проблемы с пакетами, отправленными ab. Это могло быть из-за многих причин - сеть, apache слишком занят ... Когда вы запускали тесты, видели ли вы какие-либо ошибки в журналах apache / webserver? в частности, сброс соединения или истекло время ожидания?