Обновление с IIS 6 до 8.5: увеличение количества одновременных запросов

Мы обновили наш веб-сервер с Windows Server 2003 до Windows Server 2012 R2. Рассматриваемое веб-приложение работает с ASP.NET 4.0. Веб-приложение, в свою очередь, взаимодействует со сторонним веб-API.

Вскоре после обновления задержка веб-API увеличилась, что, в свою очередь, привело к значительным тайм-аутам. Я подозревал, что в IIS 8.5 количество разрешенных одновременных запросов увеличилось, что привело к увеличению пропускной способности, которую веб-API не смог обработать. Однако:

  • IIS 6 не ограничивает количество одновременных запросов. Файл справки гласит: Вы можете настроить Internet Information Services (IIS), чтобы разрешить неограниченное количество одновременных подключений или ограничить количество принимаемых подключений для этого веб-сайта. В настоящее время этот параметр установлен на неограниченный.
  • И IIS 6, и IIS 8.5 используют ASP.NET 4, который также имеет возможность ограничивать количество одновременных запросов. Обе версии IIS настроены на автоматическую настройку в файле machine.config ; поскольку оба сервера имеют одинаковую конфигурацию процессора и оперативной памяти, они должны использовать одинаковые настройки.

Когда мы откатили обновление, задержка вскоре после этого упала. Маловероятно, что это совпадение, поэтому, если все остальное остается прежним, в Windows 2012 R2 или IIS 8.5 должно быть что-то внутреннее, влияющее на веб-API. Сторонние разработчики веб-API подтвердили, что в их пространстве ничего не изменилось, и, к сожалению, я не могу собрать никакой дополнительной информации.

Я проверил журналы IIS для версии 6 и 8.5: среднее (и медианное значение) количество запросов в секунду, минуту и ​​час указывает на то, что в IIS 8.5 было обработано больше запросов (я использовал Log Parser Studio для анализа журналов). Однако ничто не указывает на то, что это должно быть именно так. У кого-нибудь есть идеи или предложения? Если есть настройки, управляющие этим, то пока я бы хотел, чтобы веб-приложение вело себя одинаково в Windows Server 2003 и 2012 R2.

4
задан 15 November 2015 в 21:34
1 ответ

Пытались ли вы запустить пул приложений в классическом режиме (архитектура IIS 6) в сравнении с интегрированным режимом, в то время как в IIS 8.5? Может быть, что-то с новой интегрированной моделью конвейера повлияло на переход.

Видели ли вы запросы, поставленные в очередь во время события?

Вы настроили параметры IIS для запросов и соединений? Процесс Machine.configРаздел модели.

1
ответ дан 3 December 2019 в 04:09

Теги

Похожие вопросы