2013-09-10 2 views
0

Не уверен, что мое название технически корректно, но у меня проблема.Увеличьте предел очереди запросов asp.net

У меня есть сайт asp.net 4.5 на IIS 8 и используйте asp.net для управления/ограничения загрузки файлов. Вместо того, чтобы IIS загружать большие (10-20 МБ) статические файлы, такие как zip, я использую asp.net.

Он работает нормально, пока около 500 до 700 пользователей не начнут загружаться. После этого asp.net начинает ставить в очередь весь запрос в домен до тех пор, пока счетчик активных запросов не станет ниже определенного определенного числа.

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

Нет проблемы с очередью, если я позволю IIS обслуживать файлы. Есть ли способ увеличить длину очереди asp.net?

ответ

1

Вы можете изменить предел очереди запросов и максимальные параллельных потоки позволили на процессор

<system.web> 
    <applicationPool 
     maxConcurrentRequestsPerCPU="12" 
     maxConcurrentThreadsPerCPU="0" 
     requestQueueLimit="5000"/> 
</system.web> 

http://blogs.msdn.com/b/rakkimk/archive/2009/07/08/iis7-improving-asp-net-performance-concurrent-requests-while-on-integrated-mode.aspx

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

Амазонка S3 CDN (и, возможно, другой CDN-х) предоставляют широкий спектр возможностей для управления доступом к файлам на CDN

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

http://aws.amazon.com/articles/5050/

+0

спасибо, я буду изменять и применять выше моего web.config, чтобы увидеть, если это поможет. CDN из-за меня. Сайт - это всего лишь персональный сайт и пропускная способность, которую он потребляет, будет очень дорогим на CDN – nLL

+0

oh, это для Aspnet.config – nLL

+0

В этом случае вы можете подумать о написании обработчика HTTP, который просто проверяет любые необходимые условия (например, пользователь входит в систему), а затем статически ставит файл. Это приведет к удалению накладных расходов ASP.Net. http://msdn.microsoft.com/en-us/library/bb398986(v=vs.100).aspx –

Смежные вопросы