Что такое хороший контрольный тест для нагрузочного тестирования производственной системы с IIS? - PullRequest
1 голос
/ 01 апреля 2009

Я заметил несколько сообщений о стресс-тестировании IIS, но мне больше интересно узнать хороший способ установить эталон того, что может обрабатывать мой физический веб-сервер.

Я сейчас работаю над производственной системой, которая, похоже, ежедневно замедляется, и никто не может понять, что является причиной проблемы. Это стандартная настройка N-уровня (клиент, веб-сервер, сервер БД). Я создал несколько простых страниц ASP.NET, которые могут выполнять несколько простых вещей, которые я использую для создания эталона для стресс-тестирования, который я могу позже использовать при сравнении с уже существующей производственной системой.

Я уже создал пример страницы aspx, которая просто возвращает некоторую статистику веб-сервера об использовании блоков, ничего тяжелого, возможно, несколько строк кода. Я также создал простой веб-сервис (asmx), который будет проверять соединение с БД с правильным идентификатором, опять же, ничего сложного, просто открывая соединение с БД и пример запроса, который ничего не делает.

Что я хотел бы знать, Каков хороший уровень стресса, при котором следующие тесты должны работать при ? В частности, я использую инструмент стресса веб-приложения Microsoft , и мне любопытно, что большинство людей ожидают уровень стресса и множитель стресса допустимые диапазоны должны быть. Я уже знаю, в какой момент веб-сервер начинает прогибаться, его около 20 уровней стресса и 10 коэффициентов стресса дают или берут, что приводит к ~ 275 запросам страниц / сек. Я пытаюсь выяснить, является ли это число слишком низким, и является ли это каким-то признаком того, что существует проблема между клиентом и веб-сервером, или аппаратной проблемой, или это скорее признак того, что существует в этом нет ничего плохого и что система слишком тяжелая.

ОБНОВЛЕНИЕ: С тех пор, как я первоначально написал этот пост, код был перемещен на сервер под управлением Windows 2003 с использованием IIS 7.

Что бы я хотел знать сейчас, если я настрою относительно простой тест, такой как базовый файл index.html, который просто обслуживает небольшую страницу, чего бы вы ожидали от «лучших» запросов страниц / сек? можно добиться от стресс-теста?

1 Ответ

1 голос
/ 28 февраля 2011

То, что я хотел бы знать сейчас, это если я установлю до относительно простого теста, такого как основной файл index.html, который просто обслуживает на небольшую страницу, что бы вы ожидали «лучшие» запросы страниц / сек я мог добиться от стресс-теста?

Я не могу говорить о средстве для стресса веб-приложений Microsoft, но должна быть возможность перебивать статическую HTML-страницу, размещенную в IIS, до тех пор, пока либо сеть между тестовым компьютером и сервером не будет заполнена, либо на тестовом сервере не будет исчерпан ЦП для скомпилируйте тесты. Все, что может сделать МКС - это отправлять один и тот же кэшированный ответ каждый раз.

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

Либо у вас будет одна или несколько страниц, производительность которых неприемлема для данной нагрузки, или некоторая статистика сервера, такая как использование диска или производительность базы данных, перерасходуется.

Если вы не проводите тестирование на сайте, который размещен на той же архитектуре, что и ваш производственный сайт, сложно дать рекомендации по архитектуре.

С неэффективными страницами легче вносить улучшения, поскольку код доступен для анализа.

Я рекомендую использовать Visual Studio Ultimate Edition для загрузки теста, если вы можете его получить. Он также предоставляет некоторые инструменты профилирования ASP.NET, чтобы справиться с разделами кода и вызовами базы данных.

...