Инструмент производительности/тестирования веб-сервера

Я ищу инструмент, который просто тестирует веб-сервер, на котором я разработал приложение.

Инструмент должен сообщать мне, что весь веб-сервер или страница в моем приложении
- может обслуживать не более чем сколько пользователей
- сколько может использовать ЦП
- может измерять количество транзакций в секунду (TPS)

Пожалуйста, не путайте мой вопрос с инструментами прослушивания http(s), такими как Fiddler. Я не хочу слушать, я хочу протестировать его (это как Инструмент "Можете ли вы запустить его" для игры)


person Myra    schedule 28.10.2009    source источник


Ответы (4)


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

См. также Инструмент Microsoft Web Capacity Analysis.

person Ian Gregory    schedule 28.10.2009
comment
Теперь я запутался, мое приложение asp.net также может обслуживаться на веб-сервере apache. Или я совершенно неправильно понял, анализ, который я ищу для запросов http (s), будет прослушиваться с помощью ApacheBench? Поскольку вы рассказываете об этой идее, я понимаю, что могу запустить свое приложение asp.net под веб-сервером apache, можете ли вы объяснить немного информации об этом (не вопрос)? - person Myra; 28.10.2009
comment
ApacheBench разработан командой Apache, но работает как клиентское приложение независимо от используемой технологии веб-сервера. Он будет отправлять HTTP-запросы для расчета ваших запросов в секунду, а параллелизм может использоваться для имитации нескольких пользователей. Что касается размещения ASP.NET под Apache, я бы задал это как новый вопрос, чтобы избежать путаницы. - person Ian Gregory; 28.10.2009

Вам нужны две вещи:

  1. Нагрузочный тестер. См. эти вопросы/ответы:

  2. На своем сервере используйте монитор производительности, чтобы измерить, что вы делаете. интересует (использование памяти, использование процессора, пейджинг...), пока он находится под нагрузкой. Монитор производительности также имеет специфичные для ASP.NET счетчики.

person Corbin March    schedule 28.10.2009

Как сказал Ян, ApacheBench — хороший стартовый инструмент. Если вы обнаружите, что вам нужно что-то более программируемое или надежное, следующим бесплатным шагом вперед, безусловно, является JMeter, который также является проектом Apache Foundation и представляет собой клиентское приложение Java, которое может записывать ряд действий пользователя на вашем сайте через встроенный прокси-сервер, а затем воспроизводить их для X пользователей / N минут / Y итераций / и т. д. ... для имитации реального трафика. Вы даже можете записывать различные сегменты активности и воспроизводить их в разных соотношениях (например, 20% отправки контента, 80% чтения контента).

person Chris    schedule 29.10.2009

Мира,

Я думаю, что у большинства поставщиков серверов приложений есть инструмент мониторинга, который позволяет вам принимать такие решения. Например, у JBoss есть JOPR или JON (тот же инструмент, но последний поддерживается Red Hat). Другие, такие как webappVM, специально разработаны для запуска и сбора показателей в виртуализированном облаке. Вам нужно посмотреть, что у вас есть, бюджет и что доступно для этой среды.

Надеюсь это поможет,

person Bruno Santos    schedule 28.10.2009
comment
Я не знаком с платформами, которые вы упомянули в качестве примера, но для общего рассмотрения это выглядит как IIS, Apache и т. Д. У любого поставщика серверов есть по крайней мере инструмент. Но я ищу конкретный инструмент, сгенерированный код или что-то еще. визуального счетчика производительности. Спасибо за идею +1 - person Myra; 28.10.2009