[Из старого] ab – Утилита для нагрузочного тестирования Apache-серверов

Оригинальная версия: http://httpd.apache.org/docs/2.2/programs/ab.html

Перевёл: Кузьмин Антон

Дата: 16-04-2009

AB — это утилита для нагрузочного тестирования  веб-серверов Apache. Он специально создан для того что бы Вы могли проанализировать стойкость своего веб-сервера к большим нагрузкам. В частности он может показать сколько одновременных запросов сервер может выдержать.

Синтаксис запуска

ab [ —A логин:пароль ] [ —c кол-во_параллельных_запросов ] [ —C имя_cookie=значчение ] [ —d ] [ —e csv-файл ] [ —g gnuplot-файл ] [ —h ] [ —H заголовок ] [ —i ] [ —k ] [ —n кол-во_запросов ] [ —p POST-файл ] [ —P proxy-логин:пароль ] [ —q ] [ —s ] [ —S ] [ —t лимит_времени ] [ —T content-type ] [ —v режим_вывода_отчётности] [ —V ] [ —w ] [ —x параметры_тега_<table> ] [ —X proxy[:port] ] [ —y параметры_тега_<tr> ] [ —z параметры_тега_<td> ] [http://]хост[:порт]/путь

Допустимые опции

    -A логин:пароль

Опция позволяет включить поддержку аутентификации. Имя пользователя и пароль разделяются одиночным символом  «:» и при передаче кодируются по алгоритму base64. Строка с данными авторизации посылается серверу всегда, вне зависимости от его требований (например ответе «401 требуется авторизация»)

    -c количество

Количество запросов посылаемых параллельно за один раз. По умолчанию этот параметр равен единице.

    -C имя-cookie=значение

Устанавливает строку Cookie в заголовке запроса. Значение этого параметра должно передаваться в виде «имя=значение». Параметр может быть использован несколько раз.

    -d

Не показывать таблицу соотношения количества запросов к времени их выполнения. (Поумолчанию она выводится в конце отчёта).

    -e имя-csv-файла

Записывает в CSV-виде (значения разделённые запятой) данные о времени выполнения каждого запроса. Опция будет более полезной если Вы создаёте отчёт в виде ‘gnuplot’-файла.

    -g имя-gnuplot-файла

Записать всю полученную информацию в файл в формате ‘gnuplot’ или TSV (значения разделённые tab`ом) . Файл может быть легко импортировав в следующие пакеты: Gnuplot, IDL, Mathematica, Igor или даже Excel. Названия колонок помещаются в самой первой строке файла.

    -h

Показ справки.

    -H заголовок

Добавляет какое-либо поле в заголовок запроса. Значение этого параметра должно быть в виде правильного заголовочного поля и значения, отделённого двоеточием (например «Accept-Encoding: zip/zop;8bit»).

    -i

Использовать HEAD-запросы вместо GET.

    -k

Использовать HTTP KeepAlive. То есть производить множество запросов в рамках одной HTTP-сессии. По умолчанию эта опция отключена.

    -n количество запросов

Количество запросов которое будет отправлено при тестировании. По умолчанию этот параметр равен единице, что может использоваться для проверки работоспособности AB и доступности для него сервера.

    -p путь-к-файлу-с-POST-данными

Путь к файлу содержащему данные для POST-запроса.

    -P имя-пользователя:пароль

Включение авторизации для Proxy-серверов. Логин и пароль разделяются одиночным двоеточием («:») и посылаются в виде закодированной base64-строки. Строка посылается всегда, вне зависимости от требований сервера  (например ответа с заголовком «407 требуется авторизация для proxy-сервера»).

    -q

Когда при тестировании требуется отправить больше 150 запросов AB показывает подробный ход их отправки. Как только отправляется 10% из них (минимальный порог — 100 запросов) то программа выводит соответствующее уведомление. Данная опция отключает этот вывод.

    -s

Если AB собран с поддержкой SSL (это можно увидеть вызвав утилиту с опцией -h) то эта опция указывает ему использовать HTTPS вместо HTTP. Функция сейчас находится в стадии тестирования, поэтому мы не рекомендуем её использовать.

    -S

Не показывать информацию об ошибках, предупреждениях и отклонениях в поведении. (В точном переводе этой опции я не уверен. Обратитесь пожалуйста к официальной документации. — п.п)

    -t timelimit

Максимальное время проведения тестирования. Например эту опцию можно использовать с указанием количества запросов в 50000. За указанное время программа постарается произвести заданное количество обращений. По умолчанию этот лимит не устанавливается.

    -T content-type

Поле «Content-type» при отправке POST-запросов.

    -v уровень-вывода-отчётов

Устанавливает уровень вывода отчётности. При уровне 4 выводится информация о заголовках. При уровне 3 — код ответа (404, 200, и т.д.). При уровне 2 — информация о различных предупреждениях/ошибках  и т.д.

    -V

Показать номер текущей версии и выйти.

    -w

Печатать ответ в виде HTML-таблицы. По умолчанию таблица состоит из 2 колонок и имеет белый фон.

    -x <table>-параметры

Строка параметров для тега <table>. Они вставляются в тег следующим образом — «<table здесь >».

    -X адрес-прокси[:порт]

Использовать PROXY-сервер

    -y <tr>-параметры

Строка с параметрами для тега <tr> (аналогично -х).

    -z <td>-параметры

Строка параметров для тега <td> (аналогично -х).

Известные баги

В некоторых местах программы имеются ограничения на длину данных поступающих от пользователя (к примеру, в виде параметров), сервера (например в виде ответа) и прочих внешних источников. Проблемы от этого встречаются редко, но возможно коснутся и Вас.

Программа не поддерживает HTTP/1.x полностью; Она понимает лишь несколько стандартных форм ответов. Использование strstr(3) влечёт за собой определённые проблемы, то есть может сложится такая ситуация что будет замерено не время работы сервера, а время работы AB.  (В точном переводе этой опции я не уверен. Обратитесь пожалуйста к официальной документации. — п.п)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *