ab - Инструмент для тестирования HTTP-сервера 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
ab – это инструмент для сравнительного анализа вашего сервера Apache Hypertext Transfer Protocol (HTTP). Он разработан, чтобы дать вам представление о том, как работает ваша текущая установка Apache. Это особенно показывает, сколько запросов в секунду способна обслуживать ваша установка Apache.
Предоставьте серверу учетные данные BASIC Authentication. Имя пользователя и пароль разделяются одним : и отправляются по сети в кодировке base64. Строка отправляется независимо от того, нужна ли она серверу (т. е., отправил запрос на проверку подлинности 401).
Размер буфера отправки/получения TCP в байтах.
Адрес для привязки при исходящих соединениях.
Количество нескольких запросов, которые нужно выполнить одновременно. По умолчанию — один запрос за раз.
Добавьте в запрос строку Cookie:. Аргумент обычно имеет форму пары имя=значение. Это поле повторяется.
Не отображать «процент обслуживания в таблице XX [мс]». (устаревшая поддержка).
Напишите файл значений, разделенных запятыми (CSV), который содержит для каждого процента (от 1% до 100%) время (в миллисекундах), которое потребовалось для обслуживания этого процента запросов. Обычно это более полезно, чем файл 'gnuplot'; так как результаты уже «сложены».
При подключении к веб-сайту SSL используйте предоставленный сертификат клиента в формате PEM для аутентификации на сервере. Ожидается, что файл будет содержать сертификат клиента, за которым следуют промежуточные сертификаты, а затем закрытый ключ. Доступно в версии 2.4.36 и более поздних.
Укажите протокол SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 или ВСЕ). Поддержка TLS1.1 и TLS1.2 доступна в версии 2.4.4 и более поздних.
Запишите все измеренные значения в виде файла «gnuplot» или TSV (значения, разделенные вкладкой). Этот файл можно легко импортировать в такие пакеты, как Gnuplot, IDL, Mathematica, Igor или даже Excel. Этикетки находятся в первой строке файла.
Отображение информации об использовании.
Добавьте дополнительные заголовки к запросу. Аргумент обычно имеет форму действительной строки заголовка, содержащей разделенную двоеточием пару поле-значение (т.е., "Accept-Encoding: zip/zop;8bit" ).
Делайте запросы HEAD вместо GET.
Включите функцию HTTP KeepAlive, т. е. выполняйте несколько запросов в рамках одного сеанса HTTP. По умолчанию нет KeepAlive.
Не сообщайте об ошибках, если длина ответов непостоянна. Это может быть полезно для динамических страниц. Доступно в версии 2.4.7 и выше.
Пользовательский метод HTTP для запросов. Доступно в версии 2.4.10 и выше.
Количество запросов, которые необходимо выполнить для сеанса сравнительного анализа. По умолчанию выполняется только один запрос, который обычно приводит к нерепрезентативным результатам бенчмаркинга.
Файл, содержащий данные для POST. Не забудьте также установить -T.
Предоставьте учетные данные BASIC Authentication прокси-серверу в пути. Имя пользователя и пароль разделяются одним : и отправляются по сети в кодировке base64. Строка отправляется независимо от того, нужна ли она прокси-серверу (т. е., отправил запрос 407 для проверки подлинности прокси-сервера).
При обработке более 150 запросов ab выводит счетчик выполнения на stderr каждые 10 % или примерно 100 запросов. Флаг -q подавляет эти сообщения.
Не завершайте работу при ошибках получения сокета.
Максимальное количество секунд ожидания до истечения времени ожидания сокета. По умолчанию 30 секунд. Доступно в версии 2.4.4 и более поздних.
Не отображать значения медианы и стандартного отклонения, а также не отображать предупреждения/сообщения об ошибках, если среднее значение и медиана отличаются более чем в один или два раза от стандартного отклонения. И по умолчанию используются минимальные/средние/максимальные значения. (устаревшая поддержка).
Максимальное количество секунд, затрачиваемое на бенчмаркинг. Это подразумевает внутренний -n 50000. Используйте это для тестирования сервера в течение фиксированного общего времени. По умолчанию нет ограничения по времени.
Заголовок типа содержимого для использования для данных POST/PUT, например. application/x-www-form-urlencoded. По умолчанию используется текстовый/обычный.
Файл, содержащий данные для PUT. Не забудьте также установить -T.
Установить уровень детализации - 4 и выше печатает информацию о заголовках, 3 и выше печатает коды ответов (404, 200 и т. д.), 2 и выше печатает предупреждения и информацию.
Показать номер версии и выйти.
Распечатайте результаты в таблицах HTML. Таблица по умолчанию имеет ширину в два столбца с белым фоном.
Строка для использования в качестве атрибутов для table. Атрибуты вставляются таблица здесь.
Используйте прокси-сервер для запросов.
Строка для использования в качестве атрибутов для Строка для использования в качестве атрибутов для Укажите набор шифров SSL/TLS (см. шифры openssl) В следующем списке описаны значения, возвращаемые ab: Значение, если оно есть, возвращенное в HTTP-заголовке server первого успешного ответа. Это включает в себя все символы в заголовке от начала до точки обнаружения символа с десятичным значением 32 (в первую очередь: пробел или CR/LF). DNS или IP-адрес, указанный в командной строке Порт, к которому подключается ab. Если порт не указан в командной строке, по умолчанию используется 80 для http и 443 для https. Параметры протокола согласовываются между клиентом и сервером. Это будет напечатано только в том случае, если используется SSL. URI запроса, извлеченный из строки командной строки. Это размер в байтах первого успешно возвращенного документа. Если длина документа изменяется во время тестирования, ответ считается ошибкой. Количество одновременных клиентов, использованных во время теста Это время, прошедшее с момента создания первого сокетного соединения до момента получения последнего ответа. Количество полученных успешных ответов Количество запросов, которые были признаны неудачными. Если число больше нуля, будет напечатана другая строка, показывающая количество запросов, которые не удалось выполнить из-за подключения, чтения, неправильной длины содержимого или исключений. Количество ошибок, которые завершились сбоем во время записи (сломан канал). Количество ответов, не входящих в серию 200 кодов ответов. Если все ответы равны 200, это поле не печатается. Количество подключений, которые привели к запросам Keep-Alive. Если настроена отправка данных в рамках теста, это общее количество байтов, отправленных во время тестов. Это поле опускается, если тест не включает тело для отправки. Общее количество байтов, полученных от сервера. Это число, по сути, является количеством байтов, отправленных по сети. Общее количество байтов документа, полученных от сервера. Это число не включает байты, полученные в заголовках HTTP. Это количество запросов в секунду. Это значение является результатом деления количества запросов на общее время. Среднее время, потраченное на запрос. Первое значение рассчитывается по формуле параллелизм * затраченное время * 1000/выполнено, а второе значение рассчитывается по формуле затраченное время * 1000/выполнено. Скорость передачи, рассчитанная по формуле общее чтение/1024/затраченное время. Существуют различные статически объявленные буферы фиксированной длины. В сочетании с ленивым анализом аргументов командной строки, заголовков ответа от сервера и других внешних входных данных это может вас укусить. Он не полностью реализует HTTP/1.x; принимает только некоторые «ожидаемые» формы ответов. Довольно интенсивное использование strstr(3) отображается вверху профиля, что может указывать на проблемы с производительностью; то есть вы должны измерять производительность ab, а не сервер.. . ВЫХОД
ОШИБКИ