пятница, 21 января 2011 г.

[Из старого] 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.  (В точном переводе этой опции я не уверен. Обратитесь пожалуйста к официальной документации. - п.п)

Комментариев нет:

Отправить комментарий