Что такое хороший эталонный тест для нагрузочного тестирования производственной системы, работающей под управлением IIS?

StackOverflow https://stackoverflow.com/questions/703632

Вопрос

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

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

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

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

ОБНОВЛЯТЬ: Поскольку я изначально писал этот пост, код был перенесен на сервер под управлением Windows 2003, использующий IIS 7.

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

Это было полезно?

Решение

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

Я не могу говорить об инструменте Microsoft Web Application Stress Tool, но должна быть возможность уничтожать статическую HTML-страницу, размещенную в IIS, до тех пор, пока либо сеть между тестовой машиной и сервером не переполнится, либо у тестового сервера не закончится процессор для создания и компиляции тестов. .Все, что будет делать ISS, — это каждый раз отправлять один и тот же кэшированный ответ.

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top