Лучший способ стресс-тестирования веб-сайта [дубликат]
этот вопрос уже есть ответ здесь:
- ASP.NET стресс-тестирование 6 ответов
Это может быть неправильный вопрос, чтобы спросить, но, каков лучший способ воспроизвести большую нагрузку на asp.net веб-приложение? Есть ли простой способ имитировать много запросов на определенных страницах? Или лучше всего использовать профилировщик для отслеживания одного запрос, а затем работать из этого, если производительность в порядке?
было бы хорошо знать, насколько хорошо веб-приложение работает со спецификацией сервера. Я хотел бы иметь возможность имитировать интенсивный трафик на моем тестовом сервере, чтобы я мог работать, если рабочий сервер достаточно хорош (в частности, с производительностью iis/asp.net not db).
10 ответов:
мое предложение для вас, чтобы сделать некоторые автоматизированные тесты. Используйте селен для него.
затем разверните Selenium grid для тестирования на нескольких компьютерах одновременно.
хотя селен как автоматизированный тестовый инструмент будет работать довольно быстро, делая мини-стресс-тест. Если вы поместите одну и ту же автоматизацию, работающую на нескольких компьютерах в вашей сети одновременно, вы сможете увидеть, как она ведет себя.
Если вы хотите записать тайминги ответ , у них есть классный api, который вы можете использовать для написания некоторых сценариев для запуска ваших автоматизаций.
Edit: Selenium довольно прост в использовании, и он утверждает содержимое страницы, если вы хотите проверить содержимое. Он также копирует ваше движение по странице, если вы хотите (это было бы мое предложение) просто перейдите на страницу много, а затем сохраните его для автоматизации. Избегайте ставить утверждает, так селен может работать быстрее.
попробуйте http://loadimpact.com лучшее, что я нашел до сих пор, но альтернативы ему я не могу найти.
JMeter был бы одним из таких инструментов. Может быть немного трудно учиться и настраивать, но обычно это того стоит.
The ab (Apache bench) инструмент позволяет отправлять много запросов на одну страницу, и вы указываете, сколько клиентов вы хотите использовать и сколько параллельных соединений вы хотите.
Это может быть первым шагом при разработке сайта. Просто протестируйте несколько страниц с определенной нагрузкой. Этот способ бенчмаркинга может иметь некоторые проблемы, такие как чрезмерное использование кэширования.
позже вам может понадобиться инструмент, который имитирует некоторый конкретный трафик, а не для одной страницы. Я у вас еще нет ссылки на такой инструмент.
может быть мясорубки поможет? Можно имитировать одновременный запрос по потокам и упрощенным процессам или распределить тест по нескольким машинам. Я использую его широко с успехом каждый раз.
мы попробовали несколько приложений, как испытания коммерческих продуктов, так и свободно доступные. В конечном счете, это было пробное издание Team Test Load Agent программное обеспечение, которое мы пробовали. Он определенно отлично работает и довольно прост в использовании. В конечном счете, это укрепило наш аргумент, чтобы перейти к Team Foundation Server и оборудовать все части отдела соответствующим инструментарием.
очевидным недостатком, однако, является цена.
Я использовал WebLOAD для такого рода проекта. Это легко создавать сценарии, и он имеет встроенную поддержку для мониторинга ASP.NET статистика
для тестирования веб-службы, soap rest или WCF (включая WebHttpBinding), попробуйте SOA Cleaner. Может быть понижен из:http://xyrow.com. существует бесплатная версия, и она не требует установки. Он также может выполнять нагрузочные тесты.
еще один инструмент, который мне нравится, - это Open STA:http://opensta.org/
Он в основном ориентирован на тестирование производительности, и это бесплатно.