Стресс-тест и тест производительности в приложении ASP.NET

Я хочу провести стресс-тест и тест производительности на интерфейсе моего приложения ASP.NET. Моя цель:

  • Определите узкие места
  • Узнайте количество и загрузку HTTP-запросов
  • Легко определять компоненты, которые используют заголовок Expires и / или архивируются с помощью gzip.
  • Выясните, где можно повысить частоту загрузки
  • Найдите повторяющиеся скрипты и ненужные перенаправления
  • Определите нагрузку, при которой будут отключены серверы
  • Определите ключевые области оптимизации сервера

Есть ли еще какие-нибудь инструменты, кроме YSlow и Fiddler, которые мне следует использовать для выполнения этого теста? Также, пожалуйста, поделитесь со мной лучшими приемами для проведения такого рода тестов.

Спасибо за помощь,
Джон


person phreeskier    schedule 27.10.2009    source источник
comment
Спасибо за предложения по инструментам. Я обязательно их проверю.   -  person phreeskier    schedule 28.10.2009


Ответы (2)


Visual Studio Test Edition (2008/10) - отличный инструмент для работы. Вы создаете отдельные веб-тесты и комбинируете их, чтобы создать нагрузку на ваш веб-сервер.

• Выявление узких мест. Инструмент позволяет вам точно настроить статистику perfmon, которую вы хотите анализировать. 2010 также автоматизирует процесс отслеживания базы данных.

• Узнайте количество и загрузку HTTP-запросов. Это требует некоторого анализа ваших журналов IIS. Получите копию Logparse2.2 (бесплатный инструмент MS). Загрузите журналы в базу данных и посмотрите, что происходит.

• Легко определять компоненты, которые используют заголовок Expires и / или подвергаются сжатию с помощью gzip. Журналы IIS - лучшее место, чтобы получить представление о том, что там есть.

• Выясните, где можно повысить частоту загрузки. Журналы IIS сообщают вам, где именно ваши реальные пользователи сталкиваются с проблемами, но в Chrome есть действительно хороший инструмент для постраничного исследования времени появления отдельных элементов.

• Найдите повторяющиеся скрипты и ненужные перенаправления. Не уверен в этом.

• Определите нагрузку, при которой серверы выйдут из строя. Создайте нагрузочный тест на основе «общей» группы запросов страниц от действующего сайта. Добавляйте виртуальных пользователей, пока сайт не умрет. Имейте в виду, что для отключения любого полуприличного веб-сервера потребуется довольно много обработки, поэтому вам потребуется лицензия для агентов загрузки MS, чтобы генерировать достаточную нагрузку. Visual Studio 2010 позволит вам купить лицензию для нескольких виртуальных пользователей и распределить виртуальных пользователей по нескольким машинам, чтобы получить хорошую загрузку.

• Выявление ключевых областей оптимизации сервера. Инструмент нагрузочного тестирования собирает статистику по производительности сервера и позволяет выявлять узкие места сервера. Тест также фиксирует время отклика для отдельных страниц, выявляя особенно медленные страницы для улучшения.

person Nat    schedule 08.12.2009

Если у вас есть деньги, у Web Metrics есть интересное предложение под названием SiteStress (http://www.webmetrics.com/products/site_stress.html). Я изучал их год назад или около того, но так и не воспользовался ими.

person cagreen    schedule 27.10.2009