Проблемы производительности IIS 7 для статических запросов страниц - PullRequest
1 голос
/ 07 апреля 2011

Мне нужна помощь для увеличения производительности веб-сервера IIS.Мои простые тесты показывают, что я не могу увеличить время ответа даже для обслуживания статических HTML-страниц.

Подробности приведены ниже:

У меня есть статическая HTML-страница размером около 20 КБ, получающая обслуживание из IIS 7 с его конфигурациями по умолчанию.Я выполняю нагрузочный тест на этой статической странице с помощью Microsoft VSTS 2008 Test Suite.

Ниже приведены конфигурации нагрузочного теста:

  1. Шаблон постоянной нагрузки для 5000 пользователей
  2. Продолжительность нагрузочного теста 5 минут
  3. Процент новых пользователей: 100 (чтобы рассматривать каждого пользователя как нового и не использовать кэширование)
  4. Модель подключения для веб-теста: Соединение на пользователя

Конфигурация сервера, на котором размещена страница HTML:

  1. 8 ГБ ОЗУ
  2. 8-ядерный процессор Intel Xeon (X 2)
  3. Windows Server 2008 R2 Enterprise Edition, операционная система
  4. IIS 7

Результаты:

Запросы / секунда Минимум Среднее Максимум 130 310 540

Время ответа (в секундах) Минимальное Среднее Максимум 0.51 9.76 18.71

Это кажетсяэто очень низкие цифры, так как это означает, что для постоянной нагрузки в 5000 пользователей, в среднем, пользователям придется ждать почти 10 секунд, чтобы получить ответ.Что может способствовать такому снижению производительности?

1 Ответ

1 голос
/ 11 апреля 2011

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

Мой опыт работы со статическим html таков, что IIS 7 очень хорош для оптимизации для этого типазагрузить и на практике узкое место будет с пропускной способностью для вашего поставщика услуг.

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

Более простой расчет состоит в том, что как только вы получите около 75% внешней полосы пропускания, вы получите экспоненциально увеличивающееся время отклика.для некоторых ваших запросов (большинство из них проходит менее секунды).

На самом деле, исходя из ваших чисел, я могу предположить, что у вас есть сеть 100 Мбит / с между двумя машинами, что может стать узким местом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...