Spec-Zone.ru › Apache HTTP Server

ab — инструмент Apache HTTP сервера для бенчмаркинга

ab — инструмент для бенчмаркинга вашего Apache HTTP-сервера. Он предназначен для предоставления представления о производительности вашей текущей установки Apache. Это особенно показывает, сколько запросов в секунду ваша установка Apache способна обработать.

Синопсис

ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path

Параметры

-A auth-username:password
Предоставляет учетные данные аутентификации BASIC для сервера. Имя пользователя и пароль разделены одним : и отправляются по сети в кодировке base64. Строка отправляется независимо от того, нужен ли она серверу (т.е., был ли отправлен запрос 401 об аутентификации).
-b windowsize
Размер буфера отправки/приёма TCP в байтах.
-B local-address
Адрес для привязки при установлении исходящих соединений.
-c concurrency
Количество одновременных запросов. По умолчанию выполняется один запрос за раз.
-C cookie-name=value
Добавляет строку Cookie: к запросу. Аргумент обычно имеет вид пары name=value. Этот параметр можно использовать многократно.
-d
Не отображать таблицу "процент обработанных запросов в течение XX [мс]". (для совместимости со старыми версиями).
-e csv-file
Записывает файл со значениями, разделёнными запятыми (CSV), содержащий для каждого процента (от 1% до 100%) время (в миллисекундах), затраченное на обработку этого процента запросов. Обычно это более полезно, чем файл 'gnuplot', так как результаты уже "сгруппированы".
-E client-certificate-file
При подключении к веб-сайту с SSL использует предоставленный сертификат клиента в формате PEM для аутентификации на сервере. Файл должен содержать сертификат клиента, промежуточные сертификаты и закрытый ключ. Доступно в версии 2.4.36 и более поздних.
-f protocol
Указывает протокол SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 или ALL). Поддержка TLS1.1 и TLS1.2 доступна в версии 2.4.4 и более поздних.
-g gnuplot-file
Записывает все измеренные значения в файл 'gnuplot' или TSV (табулированные значения). Этот файл можно легко импортировать в пакеты, такие как Gnuplot, IDL, Mathematica, Igor или даже Excel. Заголовки находятся в первой строке файла.
-h
Отобразить информацию об использовании.
-H custom-header
Добавляет дополнительные заголовки к запросу. Аргумент обычно имеет вид корректной строки заголовка, содержащей пару поле-значение, разделённые двоеточием (т.е., "Accept-Encoding: zip/zop;8bit").
-i
Выполнить HEAD запросов вместо GET.
-k
Включить функцию HTTP KeepAlive, т.е., выполнять несколько запросов в одной сессии HTTP. По умолчанию KeepAlive отключен.
-l
Не сообщать об ошибках, если длина ответов не постоянна. Это может быть полезно для динамических страниц. Доступно в версии 2.4.7 и более поздних.
-m HTTP-method
Настраиваемый HTTP-метод для запросов. Доступно в версии 2.4.10 и более поздних.
-n requests
Количество запросов для сессии бенчмаркинга. По умолчанию выполняется один запрос, что обычно приводит к нерепрезентативным результатам бенчмаркинга.
-p POST-file
Файл, содержащий данные для POST-запроса. Не забудьте также установить -T.
-P proxy-auth-username:password
Предоставляет учетные данные аутентификации BASIC для прокси-сервера на пути. Имя пользователя и пароль разделены одним : и отправляются по сети в кодировке base64. Строка отправляется независимо от того, нужен ли она прокси-серверу (т.е., был ли отправлен запрос 407 об аутентификации прокси).
-q
При обработке более 150 запросов ab выводит счётчик прогресса в stderr каждые 10% или каждые 100 запросов. Флаг -q подавляет эти сообщения.
-r
Не завершать работу при ошибках приёма сокета.
-s timeout
Максимальное время ожидания в секундах перед истечением срока действия сокета. По умолчанию 30 секунд. Доступно в версии 2.4.4 и более поздних.
-S
Не отображать медианные и стандартные отклонения, а также не отображать предупреждения/сообщения об ошибках, когда среднее и медианное значения отличаются более чем в 1 или 2 раза от стандартного отклонения. И по умолчанию использовать минимальные, средние и максимальные значения. (для совместимости со старыми версиями).
-t timelimit
Максимальное время в секундах для бенчмаркинга. Это подразумевает -n 50000 внутри. Используйте это для проведения бенчмаркинга сервера в течение фиксированного общего времени. По умолчанию ограничение по времени отсутствует.
-T content-type
Заголовок Content-type для POST/PUT данных, например, application/x-www-form-urlencoded. По умолчанию text/plain.
-u PUT-file
Файл, содержащий данные для PUT. Не забудьте также установить -T.
-v verbosity
Уровень детализации вывода — 4 и выше печатает информацию о заголовках, 3 и выше печатает коды ответов (404, 200 и т. д.), 2 и выше печатает предупреждения и информацию.
-V
Отобразить номер версии и выйти.
-w
Выводить результаты в HTML-таблицах. По умолчанию таблица имеет ширину две колонки и белый фон.
-x <table>-attributes
Строка, используемая в качестве атрибутов для <table>. Атрибуты вставляются <table here >.
-X proxy[:port]
Использовать прокси-сервер для запросов.
-y <tr>-attributes
Строка, используемая в качестве атрибутов для <tr>.
-z <td>-attributes
Строка, используемая в качестве атрибутов для <td>.
-Z ciphersuite
Указать набор шифров SSL/TLS (см. openssl ciphers)

Вывод

Следующий список описывает значения, возвращаемые ab:

Программное обеспечение сервера
Значение, если есть, возвращённое в заголовке server первого успешного ответа. Включает все символы в заголовке с начала до момента обнаружения символа с десятичным значением 32 (прежде всего: пробел или CR/LF).
Имя хоста сервера
DNS или IP-адрес, указанный в командной строке
Порт сервера
Порт, к которому подключается ab. Если порт не указан в командной строке, по умолчанию используется 80 для http и 443 для https.
Протокол SSL/TLS
Параметры протокола, согласованные между клиентом и сервером. Будет напечатан только в случае использования SSL.
Путь к документу
URI запроса, полученный из строки командной строки.
Длина документа
Это размер в байтах первого успешно возвращённого документа. Если длина документа меняется во время тестирования, ответ считается ошибочным.
Уровень параллельности
Количество одновременных клиентов, используемых во время теста.
Время выполнения тестов
Это время с момента создания первого сокетного соединения до момента получения последнего ответа.
Обработанные запросы
Количество полученных успешных ответов.
Неудачные запросы
Количество запросов, которые были признаны неудачными. Если число больше нуля, будет напечатана дополнительная строка, показывающая количество запросов, которые не удалось обработать из-за подключения, чтения, неправильной длины содержимого или исключений.
Ошибки записи
Количество ошибок, возникших во время записи (разрыв соединения).
Ответы, отличные от 2xx
Количество ответов, которые не относились к серии кодов ответов 200. Если все ответы были 200, это поле не печатается.
Запросы Keep-Alive
Количество подключений, которые привели к запросам Keep-Alive.
Общая отправленная длина тела
Если было настроено отправлять данные в ходе теста, это общее количество байтов, отправленных во время тестов. Это поле опущено, если тест не включал отправку тела.
Общая длина переданных данных
Общее количество байтов, полученных от сервера. Это число по существу равно количеству байтов, отправленных по сети.
Переданная длина HTML
Общее количество байтов документа, полученных от сервера. Это число не включает байты, полученные в HTTP-заголовках.
Запросы в секунду
Количество запросов в секунду. Это значение является результатом деления количества запросов на общее затраченное время.
Время на запрос
Среднее время, затраченное на каждый запрос. Первое значение вычисляется по формуле concurrency * timetaken * 1000 / done, а второе — по формуле timetaken * 1000 / done
Скорость передачи
Скорость передачи, вычисленная по формуле totalread / 1024 / timetaken

Ошибки

Существует множество статически объявленных буферов фиксированной длины. В сочетании с ленивой обработкой аргументов командной строки, заголовков ответов от сервера и других внешних входов, это может привести к ошибкам.

Он не реализует полностью HTTP/1.x; принимает только некоторые «ожидаемые» формы ответов. Довольно интенсивное использование strstr(3) в первую очередь наблюдается в профиле, что может указывать на проблему производительности; т.е., вы будете измерять производительность ab а не сервера.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/programs/ab.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API