IIS Express 7.5 не обрабатывает запросы одновременно

Просто установлен IIS Express 7.5 и я пытаюсь отладить проблему concurrency в приложении ASP.NET MVC 3. Однако я, похоже, не могу заставить веб-сервер обрабатывать запросы одновременно, они просто выполняются один за другим.

Я запускаю Apache Bench для имитации одновременной загрузки, но просто становлюсь в очереди.

У кого-нибудь есть идеи?

Спасибо.

Ответы

Ответ 1

Если вы используете сеансы и повторно используете идентификатор сеанса для своих параллельных запросов, ASP.NET будет очереди запросов, потому что для каждого запроса требуется эксклюзивная блокировка сессии.

Взято из http://msdn.microsoft.com/en-us/library/ms178581.aspx

Параллельные запросы и состояние сеанса

Доступ к состоянию сеанса ASP.NET является исключительным за сеанс, что означает что, если два разных пользователя выполняют параллельные запросы, доступ к каждому отдельная сессия предоставляется одновременно. Однако, если два параллельных запросы выполняются для одного сеанса (с использованием того же SessionID значение), первый запрос получает эксклюзивный доступ к сеансу Информация. Второй запрос выполняется только после первого запроса завершено. (Второй сеанс также может получить доступ, если эксклюзивный блокировка информации освобождается, поскольку первый запрос превышает блокировка тайм-аута.) Если значение EnableSessionState на странице @ директива установлена ​​в ReadOnly, запрос сеанса только для чтения информация не приводит к исключительной блокировке данных сеанса. Однако запросы на чтение только для данных сеанса могут все еще ждать для блокировки, установленной запросом на чтение и запись для очистки данных сеанса.

Ответ 2

У вас нет ничего странного в вашем web.config для приложения, например, для параметров maxConcurrentRequestsPerCPU, maxConcurrentThreadsPerCPU?

http://msdn.microsoft.com/en-us/library/dd560842.aspx