АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

httperf - Интернет в облаке

Запустите httperf в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда httperf, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


httperf - инструмент измерения производительности HTTP

СИНТАКСИС


httpperf [--добавить заголовок S] [- длина взрыва N] [--клиент I/N] [--закрыть-с-сбросом]
[-d|--отлаживать N] [--failure-статус N] [-h|--Помогите] [свинья] [--http-версия S] [--Максимум-
связи N] [--max-конвейерных-вызовов N] [--метод S] [--нет-хост-hdr] [--количество звонков N] [--число-
аферы N] [--период [d|u|e]T1[,T2]] [--порт N] [--печать-ответ [заголовок|тело]] [--Распечатать-
запросить [заголовок|тело]] [--темп X] [--recv-буфер N] [- повторная попытка при отказе] [- отправить-буфер N]
[--сервер S] [--название сервера S] [--session-cookie] [--ssl] [--ssl-шифры L] [--ssl-нет-
снова использовать] [--думать тайм-аут X] [- тайм-аут X] [--ури S] [-v|--подробный] [-V|--версия] [--wlog
y|n,F] [--wsess N,N,X] [--wsesslog N,X,F] [--wset N,X]

ОПИСАНИЕ


httpperf это инструмент для измерения производительности веб-сервера. Он говорит о протоколе HTTP как в
его разновидности HTTP / 1.0 и HTTP / 1.1, а также множество генераторов рабочей нагрузки. В то время как
работает, он отслеживает ряд показателей производительности, которые сведены в форму
статистики, которая печатается в конце тестового прогона. Самая основная операция
httpperf состоит в том, чтобы сгенерировать фиксированное количество HTTP-запросов GET и измерить, сколько ответов
(ответы) вернулись с сервера и с какой скоростью пришли ответы.

ВАЖНО: Для получения правильных результатов необходимо запустить не более одного httpperf процесс
на клиентскую машину. Кроме того, должно быть как можно меньше фоновых процессов как на
клиентские и серверные машины.

ПРИМЕРЫ


httperf --hog --сервер www
Эта команда вызывает httpperf чтобы создать соединение с хостом www, отправьте запрос на
корневой документ (http://www/), получите ответ, закройте соединение, а затем
распечатать статистику производительности.

httperf --hog --server www --num-conns 100 --ra 10 --timeout 5
Как и выше, за исключением того, что создается всего 100 подключений и что подключения
создаются с фиксированной скоростью 10 в секунду. Обратите внимание, что опция `` --rate '' была
сокращенно `` --ra ''.

httperf --hog --server = www --wsess = 10,5,2 --rate 1 --timeout 5
Причины httpperf для создания в общей сложности 10 сеансов из расчета 1 сеанс за
второй. Каждый сеанс состоит из 5 вызовов с интервалом в 2 секунды.

httperf --hog --server = www --wsess = 10,5,2 --rate = 1 --timeout = 5 --ssl
Как и выше, за исключением того, что httpperf связывается с сервером www через SSL через порт 443 (
порт по умолчанию для SSL-соединений).

httperf --hog --server www --wsess = 10,5,2 --rate = 1 --timeout = 5 --ssl
--ssl-ciphers=EXP-RC4-MD5:EXP-RC2-CBC-MD5 --ssl-no-reuse --http-version=1.0
Как и выше, за исключением того, что httpperf сообщит серверу, что он может выбирать только из
два набора шифров (EXP-RC4-MD5 или EXP-RC2-CBC-MD5); более того, httpperf буду использовать
HTTP версии 1.0, которая требует нового TCP-соединения для каждого запроса. Также SSL
идентификаторы сеансов не используются повторно, поэтому весь процесс установления SSL-соединения
(известное как рукопожатие SSL) происходит для каждого соединения.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Операция httpperf можно контролировать с помощью ряда опций. Инструмент поддерживает
как короткие (односимвольные), так и длинные (произвольной длины) имена параметров. Короткие варианты
с префиксом одиночного дефиса (-), длинные варианты - двойным тире (-). Несколько
короткие варианты можно сгруппировать (например, ``-vV'' эквивалентно ''-v -V'') и долго
параметры могут быть сокращены до тех пор, пока они остаются уникальными. Параметры для опций могут быть
указывается либо следующим за длинным именем параметра знаком равенства и параметром
значение (например, --burst = 10) или разделив имя параметра и значение пробелом (например,
--лопаться 10).

--add-header =S
Указывает, что нужно включить строку S как дополнительный заголовок запроса. Необходимо
явно укажите завершающую последовательность возврата каретки / перевода строки. Это может быть
выполняется с помощью escape-последовательности `` \ n ''. Это позволяет включать
несколько заголовков запроса. Например, «--add-header» Referer: foo \ nAuth:
secret \ n "'' добавит два заголовка запроса (Referer и Auth) к каждому
запрос. Другие поддерживаемые escape-последовательности: `` \ r '' (возврат каретки), `` \ a ''.
(перевод строки), `` \\ '' (обратная косая черта) и `` \ N '', где N - это код символа, который должен быть
вставлен (в восьмеричном).

- длина взрыва =N
Определяет длину пакетов. Каждый пакет состоит из N звонки на сервер. В
точное значение этого параметра зависит от генератора рабочей нагрузки. Для регулярных
ориентированные на запросы рабочие нагрузки, см. описание опции --wsess.

--нет-хост-hdr
Указывает, что заголовок "Host:" не должен включаться при отправке HTTP-сообщения.
запрос.

--количество звонков.
Для рабочих нагрузок, ориентированных на сеанс, см. Описание параметра --wsess.

--client =I/N
Указывает, что машина httpperf работает на клиенте I из общего количества N
клиентов. I должен быть в диапазоне от 0 до N-1. Некоторые генераторы рабочей нагрузки
(например, --wset) использовать личность клиента в качестве значения смещения, чтобы гарантировать, что не все
клиенты создают совершенно идентичные рабочие нагрузки. При выполнении теста,
включает несколько клиентских машин, обычно рекомендуется указать это
опцию.

--закрыть-с-сбросом
Просит, чтобы httpperf закрывает TCP-соединения, отправляя СБРОС вместо того, чтобы идти
через обычное квитирование отключения TCP-соединения. Включение этой опции может
имеют побочные эффекты, такие как повреждение данных, зависание управляющих блоков TCP или неправильные
полученные результаты. По этой причине эту опцию не следует использовать, если только
необходимо, и даже в этом случае его не следует использовать, если его последствия полностью не
понят.

-d =N

--debug =N
Установите уровень отладки на N. Большие значения N приведет к большему объему вывода.

--failure-status =N
Указывает, что код состояния ответа HTTP N следует рассматривать как неудачу
(т. е. обрабатывается так, как если бы, например, истекло время ожидания запроса). Например, с
``--failure-status = 504'' ответы со статусом HTTP `` 504 Gateway Time-out ''
будет считаться неудачей. Предупреждение: эта опция в настоящее время поддерживается для
только рабочие нагрузки сеанса (см. --wsess и --wsesslog параметры).

-h

--Помогите Печатает сводку доступных опций и их параметров.

свинья Этот параметр требует использовать столько портов TCP, сколько необходимо. Без этого
вариант, httpperf обычно ограничивается использованием временных портов (в диапазоне от
От 1024 до 5000). Этот ограниченный диапазон портов может быстро стать узким местом, поэтому он
вообще неплохо указать эту опцию для серьезного тестирования. Кроме того, это
опция должна быть указана при измерении NT серверов, так как она избегает TCP
несовместимость между NT и UNIX машинами.

--http-version =S
Задает строку версии, которая должна быть включена в запросы, отправляемые в
сервер. По умолчанию используется строка версии 1.1. Эта опция может быть установлена ​​на
`` 1.0 '' для принудительной генерации запросов HTTP / 1.0. Установка этого параметра на любой
значение, отличное от `` 1.0 '' или `` 1.1 '', может привести к неопределенному поведению.

--max-connections =N
Указывает, что не более N соединения открываются для каждого сеанса. Этот вариант
имеет смысл в сочетании с опциями --wsess и --wsesslog только.

--max-piped-calls =N
Указывает, что не более N конвейерные вызовы выдаются при каждом соединении. Этот
опция имеет смысл в сочетании с опциями --wsess и --wsesslog только.

--method =S
Задает метод, который следует использовать при отправке HTTP-запроса. Если это
опция не указана, используется метод GET. Метод S может быть произвольным
строка, но обычно это GET, HEAD, PUT, POST и т. д.

--num-calls =N
Этот параметр имеет смысл только для рабочих нагрузок, ориентированных на запросы. В нем указывается
общее количество вызовов для каждого соединения перед его закрытием. Если N is
больше 1, сервер должен поддерживать постоянные соединения. Значение по умолчанию
для этого варианта - 1. Если - длина взрыва на B, то N звонки сделаны
в очередях B конвейерные вызовы каждый. Таким образом, общее количество таких всплесков будет
Н / В (за соединение).

--num-conns =N
Этот параметр имеет смысл только для рабочих нагрузок, ориентированных на запросы. В нем указывается
общее количество создаваемых подключений. При каждом подключении вызовы выдаются как
указывается опциями --количество звонков и - длина взрыва. Тест прекращается, как только N
подключения либо завершены, либо не работают. Считается, что соединение имеет
не удалось, если какая-либо активность в соединении не позволяет продвинуться вперед для большего
чем время, указанное в параметрах тайм-аута - тайм-аут и --думать тайм-аут,
значение по умолчанию для этой опции - 1.

--period =[D] T1 [, T2]
Задает временной интервал между созданием подключений или сеансов.
Соединения создаются по умолчанию, сеансы, если опция --wsess or --wsesslog и
было указано. Это соединение / сеанс `` время между прибытием '' в качестве альтернативы может быть
определяется --темп вариант, хотя большая гибкость доступна с
--период. Ассоциация D Параметр определяет распределение времени между прибытиями. Если
опущено или установлено на ``d'', используется детерминированный (т.е. фиксированный) период, как указано
по параметру T1 в секундах. Если D установлен на ``e'', экспонента (т. е.
Распределение Пуассона) со средним временем прибытия T1. Наконец, если D
установлен на ``u'', равномерное распределение на интервале [T1,T2) используется для
время между прибытием. Во всех случаях период 0 приводит к соединениям или сеансам
генерируется последовательно (новое соединение / сеанс инициируется, как только
предыдущий завершается). Значение по умолчанию для этого параметра - 0. Обратите внимание, что
указав, например, --rate = 5 эквивалентно указанию --период = d0.2 or
--период = 0.2. Указав --период = u1,3, время прибытия будет случайным образом
выбирается из интервала от 1 до 3 секунд. Конкретная последовательность
(псевдо) случайные времена между прибытиями идентичны одному httpperf беги к другому как
пока значения для --период и --клиент варианты идентичны.

--port =N
Эта опция указывает номер порта N на котором веб-сервер прослушивает
HTTP-запросы. По умолчанию, httpperf использует номер порта 80.

--печать-ответ[=[заголовок|тело]]
Запрашивает печать заголовков, тела и резюме ответа. На выходе
направлен на стандартный вывод. Строки заголовка ответа начинаются с префикса "RH", тело ответа
строки начинаются с префикса «RB», а сводка размера ответа - с префикса «RS». В
за префиксом следует серийный номер, который однозначно идентифицирует вызов, который
строка ответа предназначена для и символа двоеточия (":"), который отмечает начало
фактическая линия ответа. Чтобы распечатать только заголовки ответа, передайте аргумент заголовок к этому
вариант. Чтобы распечатать только тело ответа, передайте аргумент тело к этому варианту.

- запрос на печать[=[заголовок|тело]]
Запрашивает печать заголовков, тела запроса (если он есть) и
резюме. Вывод направляется на стандартный вывод. Строки заголовка запроса
с префиксом "SH", строки тела запроса имеют префикс "SB", а сводка запроса
начинается с "SS". За префиксом следует серийный номер звонка и
двоеточие (":"), обозначающее начало фактической строки ответа. Печатать
только заголовки запроса, передать аргумент заголовок к этому варианту. Чтобы напечатать только
тело запроса, аргумент передачи тело к этому варианту.

--rate =X
Задает фиксированную скорость, с которой создаются подключения или сеансы. Подключения
создаются по умолчанию, сеансы, если опция --wsess or --wsesslog было
указано. В обоих случаях значение 0 приводит к тому, что соединения или сеансы
генерируется последовательно (новый сеанс / соединение инициируется, как только
предыдущий завершается). Значение по умолчанию для этой опции - 0.

--recv-buffer =N
Задает максимальный размер буферов приема сокетов, используемых для приема HTTP.
ответы. По умолчанию ограничение составляет 16 КБ. Меньшее значение может помочь памяти -
ограниченные клиенты, тогда как при общении с
сервер через соединение с высокой пропускной способностью и высокой задержкой.

- повторная попытка при отказе
Этот параметр имеет смысл только для рабочих нагрузок сеанса (см. --wsess и
--wsesslog параметры). Если указано, вызов, который приводит к отказу (как
определяется --failure-статус option) немедленно повторяется вместо того, чтобы вызывать
сеанс потерпеть неудачу.

--send-buffer =N
Задает максимальный размер буферов отправки сокетов, используемых для отправки HTTP-запросов.
По умолчанию ограничение составляет 4 КБ. Меньшее значение может помочь клиентам с ограниченным объемом памяти
тогда как при генерации больших запросов к серверу может потребоваться большее значение
подключен через соединение с высокой пропускной способностью и высокой задержкой.

--server =S
Задает IP-имя хоста сервера. По умолчанию имя хоста localhost
использовал. Эту опцию всегда следует указывать, так как обычно не рекомендуется
запустите клиент и сервер на одной машине.

- имя-сервера =S
Задает (по умолчанию) имя сервера, которое появляется в заголовке "Host:" каждого
запрос отправлен httpperf. Без этой опции имя хоста (или IP-адрес)
указывается опцией --сервер используется вместо

--session-cookie
Когда этот параметр включен, управление файлами cookie включается для каждого сеанса.
Это означает, что если ответ на запрос, сгенерированный сеансом X
содержит cookie, а затем все будущие запросы, отправленные сеансом X будет включать это
cookie тоже. В настоящее время менеджер файлов cookie в httpperf поддерживает только один файл cookie
за сеанс. Если получен второй файл cookie, новый файл cookie перезаписывает
существующий, и если включен параметр --debug 1, выводится предупреждающее сообщение.

--ssl Указывает, что вся связь между httpperf и сервер должен использовать
Протокол Secure Sockets Layer (SSL). Эта опция доступна, только если httpperf законопроект
скомпилирован с включенной поддержкой SSL.

--ssl-ciphers =L
Этот параметр имеет смысл только в том случае, если используется SSL (см. --ssl вариант). Этот вариант
указывает список L комплектов шифров, которые httpperf может использовать в переговорах по безопасному
соединение с сервером. Если список содержит более одного набора шифров,
шифры должны быть разделены двоеточием. Если сервер не принимает ни один из
перечисленных наборов шифров, установление соединения не удастся и httpperf выйдет
немедленно. Если этот параметр не указан, когда --ssl вариант присутствует тогда
httpperf будет использовать все комплекты шифров SSLv3, предоставляемые базовым SSL
библиотека.

--ssl-без повторного использования
Этот параметр имеет смысл только в том случае, если используются SSL и сеансы (см. --ssl, --wsess,
--wsesslog). Когда SSL-соединение установлено, клиент получает сеанс
идентификатор (идентификатор сеанса) с сервера. При последующих SSL-соединениях клиент
обычно повторно использует этот идентификатор сеанса, чтобы избежать затрат на повторение
(медленное) Подтверждение SSL для установления нового сеанса SSL и получения другого идентификатора сеанса
(даже если клиент пытается повторно использовать идентификатор сеанса, сервер может заставить
клиент для повторного согласования сеанса). По умолчанию httpperf повторно использует идентификатор сеанса через
все соединения в сеансе. Если --ssl-без повторного использования опция действует, то
httpperf не будет повторно использовать идентификатор сеанса, и все рукопожатие SSL будет
выполняется для каждого нового соединения в сеансе.

--think-timeout =X
Задает максимальное время, которое может потребоваться серверу, чтобы инициировать отправку ответа.
по заданному запросу. Обратите внимание, что это значение тайм-аута добавляется к обычному тайм-ауту.
значение (см. вариант - тайм-аут). При доступе к статическому веб-контенту обычно нет
необходимо указать эту опцию. Однако при выполнении тестов с длительным временем работы
Сценарии CGI, возможно, потребуется использовать эту опцию, чтобы разрешить больший ответ -
раз. Значение по умолчанию для этой опции - ноль секунд, что означает, что сервер
должен иметь возможность отвечать в пределах обычного значения тайм-аута.

--timeout =X
Определяет количество времени X который httpperf готов ждать сервер
реакция. Тайм-аут указывается в секундах и может быть дробным числом.
(например, - тайм-аут 3.5). Это значение тайм-аута используется при установке TCP.
соединение, при отправке запроса, при ожидании ответа и при получении
Ответить. Если во время любого из этих действий запрос не продвигается вперед
в отведенное время, httpperf считает запрос умершим, закрывает
связанное соединение или сеанс и увеличивает клиент-тимо количество ошибок. В
фактическое значение тайм-аута, используемое при ожидании ответа, является суммой этого тайм-аута и
время ожидания (см. вариант --думать тайм-аут). По умолчанию значение тайм-аута равно
бесконечность.

--uri =S
Указывает, что URI S должен быть доступен на сервере. Для некоторых задач
генераторы (например, --wset), эта опция определяет префикс для URI, которые
доступ.

-v

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

-V

--версия
Печатает версию httpperf.

--wlog =B,F
Эту опцию можно использовать для генерации определенной последовательности обращений к URI. Это
полезно, например, для воспроизведения доступа, записанного в файле журнала сервера.
Параметр F - это имя файла, содержащего список URI, разделенных ASCII NUL.
это должно быть доступно. Если параметр B установлен на ``y'', httpperf обернется
в начало файла при достижении конца списка (поэтому список URI
обращаются повторно). С участием B установить на ``n'', тест остановится не позднее
при достижении конца списка URI.

--wsess =N1,N2,X
Запрашивает создание и измерение сеансов вместо отдельных запросов.
Сеанс состоит из последовательности всплесков, которые пользователь думает:
время. Каждый пакет состоит из фиксированного числа L звонков на сервер (L is
указывается опцией - длина взрыва). Вызовы в пачке выдаются следующим образом:
сначала выдается разовый звонок. Как только ответ на этот первый звонок был
полностью принят, все оставшиеся вызовы в пакете отправляются одновременно. В
параллельные вызовы выдаются либо как конвейерные вызовы на существующий постоянный
соединение или как отдельные звонки по отдельным соединениям. Будь стойким
Используемое соединение зависит от того, отвечает ли сервер на первый вызов с помощью
ответ, содержащий строку заголовка `` Соединение: закрыть ''. Если такая строка
в настоящее время используются отдельные подключения.

Опция определяет следующие параметры: N1 общее количество сеансов
генерировать, N2 это количество звонков за сеанс, и X время для размышлений пользователя
(в секундах), который разделяет последовательные пачки вызовов. Например, варианты
``--wsess = 100,50,10 --burst-len 5'' приведет к 100 сеансам, в общей сложности 50
звонит каждый. Поскольку каждый пакет имеет длину 5 вызовов, всего 10 пакетов вызовов
будет создаваться за сеанс. Время ожидания пользователя между пакетами вызовов будет
10 секунд. Обратите внимание, что время для размышлений пользователя X обозначает время между получением
последний ответ предыдущего пакета вызовов и отправка первого запроса
следующий всплеск.

Тест, включающий сеансы, завершается, как только запрошенное число N1 сессий
либо потерпели неудачу, либо завершились. Сеанс считается неудачным, если
операция в сеансе занимает больше времени, чем тайм-ауты, указанные в параметрах
- тайм-аут и --думать тайм-аут. Кроме того, сеанс также завершается неудачно, если сервер
возвращает ответ с кодом состояния, соответствующим указанному параметром --отказ-
статус.

--wsesslog =N,X,F
Это определяет генератор рабочей нагрузки сеанса, аналогичный --wsess (пожалуйста, прочтите это
описание сначала). С участием --wsesslog хотя многие аспекты пользовательских сессий,
включая количество и последовательность URI, метод запроса, время обдумывания и
параметры длины, могут быть указаны во входном файле F. Два других параметра:
сохранено из --весс, а именно N, количество сеансов, которые нужно инициировать, и X, домен
время обдумывания пользователем от пакета к пакету (обратите внимание, что это время становится временем по умолчанию, так как
входной файл F также можно указать время обдумывания пользователем для каждого пакета. Маленький
Пример входного файла может наиболее легко показать настраиваемые параметры:

# Строки комментариев начинаются с символа `` # '' в качестве первого
# персонаж. Строки с разделителями только пробелами
# сеансов (несколько пустых строк не генерируются
# `` нулевые '' сессии). Во всех остальных строках указывается
# uri-последовательность (1 uri в строке). Если первый
# символ строки - это пробел (например, пробел
# или табуляция), uri считается частью
# пакет, отправленный после предыдущего
# неразрывный uri.

# определение сеанса 1 (это комментарий)
/foo.html think = 2.0
/pict1.gif
/pict2.gif
/foo2.html method = POST contents = 'Опубликовать данные'
/pict3.gif
/pict4.gif

# определение сеанса 2
/foo3.html method = POST contents = "Многострочный \ ndata"
/foo4.html method = HEAD

В приведенном выше описании указано 2 сеанса. Первая сессия начнется с
запрос на /foo.html. Когда возвращается ответ /foo.html, пакет из 2
запросы будут следовать (/pict1.gif и /pict2.gif). Когда последний из этих ответов
получен, двухсекундное время обдумывания пользователя вставляется перед следующим запросом
Выдается /foo2.html. Этот запрос отправляется как POST. Опубликованные данные могут быть
заключены в одинарные или двойные кавычки. Новые строки могут появляться в опубликованных данных
как `` \ n '' или как `` \ ''. За ответом /foo2.html следует всплеск
запрос /pict3.gif и /pict4.gif, который завершает этот сеанс. Секунда
сеанс запускается через некоторое время после первого, как указано --темп or
--период настройки.

Второй сеанс состоит из 2 запросов, разделенных временем обдумывания пользователем по умолчанию.
как указано X параметр --wsesslog вариант. Если N параметр
--wsesslog больше, чем количество сеансов, определенных во входном файле F, то
определенные сеансы используются повторно до тех пор, пока N сеансы были созданы (т. е.
определенные сеансы используются в циклическом режиме).

Следует избегать использования --wsesslog в сочетании с другими httpperf варианты, которые
также управляют поведением сеанса и URI рабочей нагрузки, а именно - длина взрыва, --весс,
--влог, и --wset.

--wset =N,X
Эту опцию можно использовать для просмотра списка URI с заданной скоростью. Параметр
N указывает количество различных URI, которые должны быть сгенерированы, и X определяет
скорость доступа к новым URI. Скорость 0.25 будет означать, что то же самое
URI будет доступен четыре раза подряд перед переходом к следующему URI. Этот
тип шаблона доступа полезен при создании рабочей нагрузки, которая вызывает относительно
предсказуемый объем трафика в подсистеме дискового ввода-вывода сервера (при условии N
и файлы, к которым осуществляется доступ, достаточно велики, чтобы превышать размер буферного кеша сервера). В
Сгенерированные URI имеют форму префикс/путь.html, где префикс это префикс URI
указывается опцией --wset и путь формируется следующим образом: для i-й файл в
рабочий набор, запишите i в десятичной системе счисления с префиксом числа нулей
по мере необходимости, чтобы получить строку, содержащую столько цифр, сколько N-1. Затем вставьте косую черту
символ между каждой цифрой. Например, 103-й файл в рабочем наборе
состоящий из 1024 файлов, приведет к пути ``0 / 1 / 0 / 3''. Таким образом, если URI-
префикс / wset1024, тогда доступный URI будет /wset1024/0/1/0/3.html.
Другими словами, файлы на сервере должны быть организованы в виде десятичного дерева.

ВЫВОД


В этом разделе описывается вывод статистики в конце каждого тестового прогона. Базовый
Информация, показанная ниже, распечатывается независимо от выбранного генератора рабочей нагрузки.

Итого: соединений 30000 запросов 29997 ответов 29997 длительность теста 299.992 с

Связь скорость: 100.0 подключений / с (10.0 мсек / подключение, <= 14 одновременных подключений)
Связь время [РС]: мин. 1.4 средн. 3.0 макс. 163.4 среднее 1.5 стандартное отклонение 7.3
Связь время [РС]: подключите 0.6
Связь [ответы / сообщение]: 1.000

Запрос скорость: 100.0 запросов / с (10.0 мсек / запросов)
Запрос размер [Б]: 75.0

Ответить скорость [ответы / с]: мин 98.8 средн 100.0 макс 101.2 стандартное отклонение 0.3 (60 образцов)
Ответить время [РС]: ответ 2.4 передача 0.0
Ответить размер [Б]: заголовок 242.0 содержание 1010.0 нижний колонтитул 0.0 (всего 1252.0)
Ответить Статус: 1xx=0 2xx=29997 3xx=0 4xx=0 5xx=0

ЦП время [с]: пользователь 94.31 система 205.26 (пользователь 31.4% система 68.4% всего 99.9%)
Чистыми I / O: 129.6 КБ / с (1.1 * 10 ^ 6 бит / с)

Ошибки: всего 3 client-timo 0 socket-timo 0 connrefused 3 connreset 0
Ошибки: fd-unavail 0 addrunavail 0 ftab-full 0 другие 0

Всего существует шесть групп статистики: общие результаты (`` Всего ''), связанные с подключением.
результаты (`` Соединение ''), результаты, относящиеся к выдаче HTTP-запросов (`` Запрос ''),
результаты, относящиеся к ответам, полученным от сервера (`` Ответ ''), разное
результаты, относящиеся к использованию ЦП (`` CPU '') и сети (`` Net I / O '') и, наконец,
не в последнюю очередь, сводку обнаруженных ошибок (`` Ошибки '').

Итого по разделу
В этом разделе показано, сколько TCP-соединений было инициировано httpperf, Как
сколько запросов было отправлено, сколько ответов получено и каков общий тест
продолжительность была. В примере вывода, показанном выше, было создано 30,000 XNUMX подключений,
Было отправлено 29,997 29,997 запросов и получено XNUMX XNUMX ответов. Продолжительность
тест длился почти ровно 5 минут (300 секунд).

Раздел подключения
В этом разделе содержится информация, относящаяся к TCP-соединениям, созданным инструментом.
В частности, строка `` Скорость подключения '' показывает, что новые подключения
инициируется со скоростью 100.0 соединений в секунду. Эта скорость соответствует
период 10.0 миллисекунд на одно соединение. Последнее число в этой строке показывает
что в любой момент времени открыто не более 14 подключений.

Первая строка с надписью `` Время подключения '' дает статистику времени жизни для успешных
соединения. Время жизни соединения - это время между TCP-соединением.
инициирован и время закрытия соединения. Считается подключение
успешно, если хотя бы один вызов завершился успешно. В примере
на выходе строка указывает, что минимальное (`` мин '') время жизни соединения было 1.4
миллисекунд, среднее время жизни (`` avg '') составляло 3.0 миллисекунды, максимальное
(`` макс. '') составляло 163.4 миллисекунды, среднее (`` среднее '') время жизни составляло 1.5
миллисекунд, а стандартное отклонение продолжительности жизни составляло 7.3
миллисекунды. Среднее время жизни вычисляется на основе гистограммы с одним
разрешение в миллисекундах и максимальный срок службы 100 секунд. Таким образом, медиана равна
с точностью до полмиллисекунды, если хотя бы половина успешного
соединения имеют время жизни не более 100 секунд.

Следующая статистика в этом разделе - это среднее время, необходимое для установления TCP.
связь. Учитываются только успешные установления TCP-соединения. в
Например, вторая строка с надписью `` Время подключения '' показывает, что в среднем
на установление соединения потребовалось 0.6 миллисекунды.

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

Раздел запроса
В строке с надписью `` Частота запросов '' указана скорость отправки HTTP-запросов.
и период, которому соответствует эта ставка. В приведенном выше примере запрос
скорость составила 100.0 запросов в секунду, что соответствует 10.0 миллисекундам на
запрос. Пока не используются постоянные соединения, в результате
раздела очень похожи или идентичны результатам в разделе подключения.
Однако, когда используются постоянные соединения, несколько вызовов могут быть выполнены на
одиночное соединение, и в этом случае результаты будут разными.

Строка с надписью `` Размер запроса '' дает средний размер HTTP-запросов в
байтов. В приведенном выше примере средний размер запроса составлял 75 байт.

Раздел ответа
Для простых измерений этот участок часто бывает наиболее интересным, так как линия
с пометкой `` Скорость ответа '' приводится различная статистика скорости ответа. В примере
выше, минимальная (`` минимальная '') скорость ответа составила 98.8 ответов в секунду, средняя
(`` средн. '') составляло 100 ответов в секунду, а максимальная (`` макс. '') скорость составляла 101.2
ответов в секунду. Стандартное отклонение составило 0.3 ответа в секунду. Номер
Заключенное в скобки показывает, что было получено 60 выборок ответов. В
подарок, httpperf собирает выборку частоты каждые пять секунд. Чтобы получить
значимое стандартное отклонение, рекомендуется проводить тесты достаточно долго, чтобы
получается не менее тридцати образцов. Это соответствует продолжительности испытания не менее
150 секунд.

Строка с надписью `` Время ответа '' дает информацию о том, сколько времени потребовалось для
сервер должен ответить и сколько времени потребовалось, чтобы получить ответ. В примере это
прошло в среднем 2.4 миллисекунды между отправкой первого байта запроса и
получение первого байта ответа. Время `` передать '' или прочитать
ответ был слишком коротким, чтобы его можно было измерить, поэтому он отображается как ноль. Типично, когда
весь ответ помещается в один сегмент TCP.

Следующая строка, помеченная как `` Размер ответа '', содержит статистику среднего размера
ответы --- все числа указаны в сообщаемых байтах. В частности, в строке перечислены
средняя длина заголовков, содержимого и нижних колонтитулов ответа (HTTP / 1.1 использует нижние колонтитулы для
реализовать `` фрагментированное '' кодирование передачи). Для удобства средняя сумма
количество байтов в ответах также указано в скобках. В этом примере
средняя длина заголовка (`` заголовок '') составляла 242 байта, средняя длина содержимого
(`` контент '') составлял 1010 байт, и нижних колонтитулов не было (длина `` нижнего колонтитула ''
нуль). Общая длина ответа в среднем 1252 байта.

Последняя строка в этом разделе - это гистограмма основных кодов состояния, полученных в
ответы с сервера. Основной код статуса - это цифра `` сотни ''.
полный код статуса HTTP. В этом примере у всех 29,997 XNUMX ответов был основной статус.
код 2. Это хорошее предположение, что все коды состояния были «200 ОК», но
информация в гистограмме недостаточно подробна, чтобы можно было различить статус
коды с тем же основным кодом.

Разное Раздел
Этот раздел начинается со сводной информации об использовании ЦП на клиентском компьютере.
В этом примере строка с надписью `` Процессорное время '' показывает, что было потрачено 94.31 секунды.
выполнение в пользовательском режиме (`` пользователь ''), 205.26 секунды было потрачено на выполнение в системе
mode (`` система ''), что соответствует 31.4% выполнения пользовательского режима и 68.4%
системное исполнение. Общий коэффициент использования составил 99.9%, что ожидается с учетом того, что
httpperf это хрен ЦП. Общая загрузка ЦП менее 100% - это
знак того, что были конкурирующие процессы, которые помешали тесту.

Строка с надписью `` Net I / O '' дает среднюю пропускную способность сети в килобайтах на
секунда (где килобайт составляет 1024 байта) и в мегабитах в секунду (где мегабит
составляет 10 ^ 6 бит). В этом примере среднее использование сети около 129.6 килобайт.
в секунду. Число в скобках показывает, что это соответствует
около 1.1 мегабита в секунду. Эта пропускная способность сети вычисляется на основе
количество байтов, отправленных и полученных по TCP-соединениям. Другими словами, это
не учитывать сетевые заголовки или повторные передачи TCP, которые могли произойти.

Раздел ошибок
Последний раздел содержит статистику ошибок, которые были обнаружены во время
тестовое задание. В этом примере две строки с надписью `` Ошибки '' показывают, что произошла ошибка.
всего три ошибки, и что все три ошибки произошли из-за отказа сервера
принять соединение (`` connrefused ''). Описание каждого счетчика ошибок
следующим образом:

клиент-тимо: Количество сбоев сеанса, подключения или вызова из-за
время ожидания клиента (как указано - тайм-аут и --думать тайм-аут) опции.

сокет-тимо: Количество сбоев TCP-соединения на уровне сокета.
тайм-аут (ETIMEDOUT).

сконфузился: Количество неудачных попыток TCP-соединения с
Ошибка `` соединение отклонено сервером '' (ECONNREFUSED).

подключение: Количество раз сбоя TCP-соединения из-за СБРОСА из
сервер. Обычно RESET получается, когда клиент пытается отправить данные в
сервер в то время, когда сервер уже закрыл свой конец соединения. NT
серверы также отправляют СБРОС при попытке установить новое соединение, когда
очередь прослушивания заполнена.

fd-недоступно: Сколько раз httpperf процесс был вне файловых дескрипторов.
Если этот счетчик не равен нулю, результаты теста не имеют смысла, потому что
клиент был перегружен (см. раздел «ВЫБОР ЗНАЧЕНИЙ ТАЙМАУТА»).

дополнение: Количество раз, когда у клиента не было номеров TCP-портов.
(EADDRNOTAVAIL). Эта ошибка никогда не должна возникать. Если это так, результаты должны быть
отбрасываются.

ftab-полный: Сколько раз таблица файловых дескрипторов системы была заполнена. Опять таки,
эта ошибка никогда не должна возникать. Если это так, результаты следует отбросить.

Другие: Сколько раз произошла ошибка другого типа. Всякий раз, когда это
Счетчик не равен нулю, необходимо выяснить настоящую причину ошибки. К
помочь в этом, httpperf печатает код ошибки (errno) первого неизвестного
ошибки, возникающие во время тестового запуска.

После появления --wsess or --wsesslog указано, httpperf вместо этого генерирует и измеряет сеансы
индивидуальных звонков и дополнительная статистика печатаются в конце теста. An
пример вывода показан ниже.

Сессия скорость [сессия / сек]: мин. 0.00 ср. 0.59 макс. 2.40 стандартное отклонение 0.37 (240/450)
сессия: в среднем 6.45 соединений / сеанс
Сессия продолжительность жизни [с]: 123.9
Сессия время отказа [с]: 58.5
Сессия гистограмма: 4 7 4 ... 3 3 240

Строка с надписью `` Скорость сеанса '' показывает минимальную, среднюю и максимальную скорость, с которой
завершенные сеансы (на основе 5-секундного интервала выборки). Он также показывает стандартный
отклонение скорости завершения сеанса. Цифры в скобках показывают, сколько
сеансов успешно и сколько сеансов было инициировано. В приведенном выше примере
минимальные, средние и максимальные показатели завершения сеанса составляли 0.00, 0.59 и 2.40 сеанса
в секунду соответственно. Стандартное отклонение составило 0.37 сеансов в секунду и 240 выходов.
из 450 сеансов успешно завершены (210 завершились неудачно из-за таких ошибок, как тайм-ауты).

Следующая строка, помеченная как `` Сеанс: '', показывает среднюю продолжительность сеанса, измеренную в
соединения. В приведенном выше примере в среднем требовалось 6.45 соединений для
завершить сеанс.

Строка с надписью `` Время жизни сеанса '' показывает среднее время, необходимое для завершения
успешная сессия. В приведенном выше примере это заняло в среднем 123.9 секунды.

Строка с надписью `` Время сбоя сеанса '' показывает среднее время, которое прошло до
неудачная сессия не удалась. В приведенном выше примере для
сеанс потерпеть неудачу.

Наконец, строка с надписью `` Гистограмма продолжительности сеанса '' дает гистограмму количества
ответы, полученные каждой сессией. В приведенном выше примере 4 сеанса завершились после получения
нет ответа, 7 закончились после получения одного ответа и т. д. (многоточие означает
дополнительные подсчеты гистограммы, которые были опущены в этом руководстве из-за недостатка места). Примечание
что эта гистограмма не различает успешные и неудачные сеансы.

ВЫБОР TIMEOUT ЦЕННОСТИ:


Поскольку машина, которая httpperf работает, имеет только конечный набор доступных ресурсов, он может
не выдерживать сколь угодно высоких HTTP-нагрузок. Например, одним ограничивающим фактором является то, что
только примерно 60,000 XNUMX номеров портов TCP, которые могут использоваться в любой момент времени. Поскольку на
в большинстве систем UNIX для полного закрытия TCP-соединения требуется одна минута (оставьте
TIME_WAIT), максимальная скорость, которую может поддерживать клиент, составляет не более 1,000 запросов на
второй.

Фактическая устойчивая ставка часто намного ниже, потому что до того, как закончится
TCP-порты, вероятно, на компьютере закончились файловые дескрипторы (один файловый дескриптор
используется для каждого открытого TCP-соединения). По умолчанию в HP-UX 10.20 разрешено 1,024 открытых файла.
дескрипторов на процесс. Это означает, что без дополнительных мер предосторожности httpperf может
потенциально очень быстро израсходовать все доступные файловые дескрипторы, после чего он может
не вызывать дополнительной нагрузки на сервер. Чтобы избежать этой проблемы, httpperf приводит
вариант - тайм-аут установить тайм-аут для всей связи с сервером. Если сервер
не отвечает до истечения таймаута, клиент считает соответствующий
сеанс, соединение или вызов становятся `` мертвыми '', закрывает связанное TCP-соединение и
увеличивает количество ошибок `` клиент-тимо ''. Единственным исключением из этого правила является то, что после
отправка всего запроса на сервер, httpperf позволяет серверу брать дополнительные
время до начала отправки ответа. Это сделано для того, чтобы удовлетворить запросы HTTP, которые
долго доделывать на сервере. Это дополнительное время называется `` сервер думает
время '' и может быть указано опцией --думать тайм-аут. По умолчанию эта дополнительная мысль
время равно нулю секунд, поэтому серверу всегда придется отвечать в отведенное время
по выбору - тайм-аут.

Тайм-ауты позволяют httpperf выдерживать высокие предлагаемые нагрузки даже при перегрузке сервера.
Например, с таймаутом в 2 секунды и при условии, что 1,000 файловых дескрипторов
доступная, предлагаемая нагрузка может составлять до 500 запросов в секунду (на практике
устойчивая нагрузка часто несколько меньше теоретического значения). С другой стороны,
таймауты искусственно сокращают время жизни соединения. Таким образом, это
рекомендуется выбирать значение тайм-аута как можно большим, но достаточно маленьким, чтобы позволить
поддержание желаемой предлагаемой ставки. Тайм-аут до одной секунды может быть приемлемым,
но предпочтительнее более длительные таймауты (5-10 секунд).

Важно помнить, что тайм-ауты не гарантируют, что клиент сможет выдержать
конкретная предлагаемая нагрузка --- есть много других потенциальных узких мест с ресурсами. Для
Например, в некоторых случаях на клиентской машине может просто не хватить процессорного времени. Чтобы гарантировать, что
данный тест действительно измеряет возможности сервера, а не клиента, это хороший
идея варьировать количество машин, участвующих в тесте. Если наблюдается производительность
остается прежним, поскольку количество клиентских машин варьируется, результаты тестирования вероятны
быть действительным.

Используйте httperf в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Zabbix
    Zabbix
    Zabbix — это открытый корпоративный класс.
    исходное распределенное решение для мониторинга
    предназначен для наблюдения и отслеживания
    производительность и доступность сети
    серверы, устройства...
    Скачать Zabbix
  • 2
    KDiff3
    KDiff3
    Этот репозиторий больше не поддерживается
    и хранится в архивных целях. Видеть
    https://invent.kde.org/sdk/kdiff3 for
    новейший код и
    https://download.kde.o...
    Скачать KDiff3
  • 3
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX — это графический интерфейс для
    USB-загрузчик Ванинкоко, основанный на
    libwiigui. Он позволяет перечислять и
    запуск игр Wii, игр Gamecube и
    доморощенный на Wii и WiiU...
    Скачать USBLoaderGX
  • 4
    Жар-птица
    Жар-птица
    СУБД Firebird предлагает функции ANSI SQL
    & работает на Linux, Windows и
    несколько Unix-платформ. Функции
    отличный параллелизм и производительность
    & сила...
    Скачать Firebird
  • 5
    KompoZer
    KompoZer
    KompoZer — это wysiwyg HTML-редактор, использующий
    кодовая база Mozilla Composer. В виде
    Разработка Нву остановлена
    в 2005 году KompoZer исправляет множество ошибок и
    добавляет ф...
    Скачать Композер
  • 6
    Бесплатная загрузка манги
    Бесплатная загрузка манги
    Free Manga Downloader (FMD) — это
    приложение с открытым исходным кодом, написанное на
    Object-Pascal для управления и
    скачивание манги с разных сайтов.
    Это зеркало...
    Скачать бесплатный загрузчик манги
  • Больше »

Команды Linux

Ad