Тайм-аут запроса, когда очень низкий трафик в течение рождественских праздников - PullRequest
0 голосов
/ 04 января 2010

За прошедшую рождественскую праздничную неделю, когда на веб-сайте, на котором я работаю, был очень низкий трафик, мы видели несколько исключений по тайм-ауту для запросов (по одному на каждый день >> 12/26, 12/28, 12/29 и 12 / 30) на нескольких страницах, требующих аутентификации пользователя. Мы редко видели исключения тайм-аута запроса до этой недели с очень низким трафиком.

Возможно, что приложение не входило в систему в течение некоторого времени, пока запрос не истек из-за ошибок. Но исключения были не на странице входа, а после того, как пользователь вошел в систему. Как отмечалось ранее, исключения были на страницах, требующих аутентификации пользователя.

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

Это приложение ASP.NET Web Forms (с использованием проверки подлинности с помощью форм), работающее на IIS7 в Windows Server 2008. База данных SQL Server 2005.

Ответы [ 4 ]

1 голос
/ 04 января 2010

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

0 голосов
/ 18 января 2010

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

Это решение отлично работает для приложений DotNetNuke, Сервера совместной работы и служб отчетов SQL. Услуга эффективна при установке на любом компьютере с постоянным подключением к Интернету (T1, Cable, DSL ...). В отличие от аналогичных продуктов, вы получаете исходный код, который легко изменить.

http://www.spikesolutions.net/ViewSolution.aspx?ID=c2b7edc0-5de1-4064-a432-05f6eded3b82

0 голосов
/ 04 января 2010

В IIS7 каждый пул приложений имеет время простоя (по умолчанию 20 минут, если я правильно помню). поэтому, если ваш веб-сайт простаивает в течение этого периода времени, пул приложений будет закрыт, и его придется перезапускать, когда кто-то запрашивает страницу. Нередко IIS работает немного медленно при запуске, поэтому первый клиент, который запросит страницу после закрытия приложения, вероятно, получит тайм-аут запроса. Вы можете преодолеть это, установив более высокое время ожидания для пула приложений в inetmgr -> пулы приложений -> дополнительные параметры.

0 голосов
/ 04 января 2010

Вы не предоставили нам достаточно информации, чтобы помочь диагностировать какую-либо проблему. Мое первое склонение, когда вы упомянули Time Out, может быть связано с утечками памяти . Как вы подключаетесь к базе данных и держите какие-либо читатели открытыми слишком долго? Проверьте все ресурсы, которые вы можете использовать в своем приложении, и используйте блок try catch catch, так что блок finally удаляет и очищает любые интенсивные ресурсы.

...