IIS перериває потік запиту зі статусом 995


10

У нас є сайт, на якому ми маємо проблеми на виробничому сервері, але не на моїй машині розробників, коли запит перерваний (отже, нульова відповідь).

Виходить з ладу через рівно 1:19 хвилин кожного разу, і запит на моїй розробниковій машині займає приблизно 1:44.

Довжина вмісту становить близько 650 К, тому це не повинно бути проблемою.

Виробниче оточення - це вікна 2008 року з IIS7, а середовище розробки - це вікна 7 з IIS 7.5

Мають ідентичний web.config, але конфігурація машини незначно відрізняється (хоча вони мають бути стандартними при встановленні)

Що може бути причиною цього?

Якщо дивитися в журнал доступу, рядок говорить 0 байт у відповідь byt win32-код 995, який повинен бути 0, це останні стовпці з рядка доступу:

sc-status sc-substatus sc-win32-status sc-bytes time-taken
200       0            995             0        76933

995, здається, пов'язаний з "перерваною ниткою" чи іншим, отже, я певним чином впевнений, що саме IIS перериває запит. Процес w3wp.exe, здається, працює деякий час навіть після припинення запиту, тому я не думаю, що веб-додаток навіть помічає, поки не настане час записати у вихідний потік.

EDIT: Спробували зараз з різними з'єднаннями, і, схоже, мій брандмауер перестає з'єднуватися через відсутність даних (передчасно). Звідси 995 код.


За замовчуванням "minBytesPerSecond" - 240, що призведе до 46 хвилин, але ви можете побачити деякі динамічно відрегульовані тайм-аути (IIS робить це на основі динамичногоIdleThreshold, якщо не 0).
eckes

Відповіді:


0

У мене така ж проблема, у моєму випадку мережевий адаптер є причиною sc-win32-статусу 995. Що ви змінили в Брандмауері, щоб запобігти цьому? У диспетчері пристроїв => мережевий адаптер => властивості => розширений ви можете встановити кілька параметрів, пов’язаних з мережею


У нашому брандмауері був налаштований ALG для HTTP, який перервав би з'єднання через 120 секунд, якщо через нього не проходитиме жодна інформація. Я просто відключив його для питання, про який йдеться.
джиші

0

Спробуйте перевірити налаштування "ExecuTimeout" в ASP.NET. За замовчуванням це, здається, становить 110 секунд, що схоже на те, що ви повідомляєте:

http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx

Це може бути присутнім будь-який з цих конфігурацій:

  • Machine.config
  • Web.config з кореневим рівнем
  • Web.config на рівні додатків
  • Віртуальний або фізичний каталог на рівні Web.config

Сподіваюсь, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.