Экспресс-запросы IIS выполняются в 4 раза дольше - PullRequest
8 голосов
/ 25 января 2011

Я загрузил результаты WCAT на Windows 7, тот же сценарий, в ts: включен XSL в zip . извините.

Вот что я заметил:

  1. IIS Express имеет более низкое число запросов в секунду и общее количество транзакций, обслуживаемых по сравнению с обычным IIS.
  2. IIS Express выполняет до 100 запросов одновременно, в то время как обычный IIS в Windows 7 ограничен 10, как и планировалось.
  3. IIS Express использует процессор на 30% выше, возможно, из-за дополнительных запросов, которые он обрабатывает за один раз.
  4. Но в среднем экспресс-запросы выполняются намного дольше ... до 4 раз дольше. см. Счетчик производительности времени выполнения запроса и анализ времени (первый и последний байт).

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

Теории происходящего:

  1. Может ли тот факт, что IIS express печатает каждый запрос в окне командной строки, даже если трассировка не установлена, ни один не замедляет его?
  2. Я также заметил множество дополнительных модулей, зарегистрированных в IIS express applicationhost.config, которых нет в IIS applicationhost.config. Могут ли проблемы вызывать дополнительные модули отладки / трассировки?
  3. Я заметил, что в IIS express нет модулей FileCache и HTTPCache. Может быть, поэтому?

Я надеюсь, что эксперты asp.net смогут уточнить, как эти результаты возможны, если IIS express не ограничен.

Ответы [ 2 ]

9 голосов
/ 27 января 2011

По умолчанию отслеживание невыполненных запросов включено для IIS Express.Вы можете увидеть некоторое увеличение производительности, если отключить его.(set enabled = "false" для элемента traceFailedRequestsLogging в applicationhost.config)

4 голосов
/ 26 января 2011

Подключение точек: http://forums.iis.net/p/1175052/1969390.aspx#1969390. Тот же вопрос задавался и на форуме iis.net, и это вызвало оживленную дискуссию.

Просто для пояснения, IIS Express предназначен в первую очередь как инструмент веб-разработки, который предоставляет расширенный набор функций на сервере разработки Cassini. Производительность не была главным приоритетом для этого выпуска. Это правда, что IIS Express не имеет ограничения на подключение, но совместимость с XP достигла своей цены.

  • Для приложений с преимущественно динамическим содержимым накладные расходы на IIS express должны быть приемлемыми.
  • для веб-сайтов с большим количеством статического содержимого, отсутствие кэширования ядра http.sys, а также кэширование в пользовательском режиме будет иметь огромное значение

Попробуйте перенаправить стандартный вывод на nul. Это немного повысит вашу производительность.

...