IIS ยกเลิกเธรดการร้องขอด้วยสถานะ 995


10

เรามีเว็บไซต์ที่เรามีปัญหากับเซิร์ฟเวอร์ที่ใช้งานจริงของเรา แต่ไม่ใช่ในเครื่อง dev ของฉันที่มีการยกเลิกการร้องขอ beeing (ดังนั้นจึงไม่มีการตอบสนอง)

มันล้มเหลวหลังจาก 1:19 นาทีในแต่ละครั้งและคำขอในเครื่อง dev ของฉันใช้เวลาประมาณ 1:44

ความยาวเนื้อหาอยู่ที่ประมาณ 650K ดังนั้นจึงไม่ควรเป็นปัญหา

สภาพแวดล้อมการผลิตคือ windows 2008 ด้วย IIS7 สภาพแวดล้อม dev คือ windows 7 ที่มี IIS 7.5

มี web.config เหมือนกัน แต่การกำหนดค่าของเครื่องแตกต่างกันเล็กน้อย (แม้ว่าควรจะเป็นมาตรฐานจากการติดตั้ง)

สิ่งที่อาจทำให้เกิดสิ่งนี้

เมื่อดูในบันทึกการเข้าถึงแถวบอกว่า 0 ไบต์ในการตอบสนอง byt win32-code 995 ซึ่งควรเป็น 0 นี่คือคอลัมน์สุดท้ายจากแถวเข้าถึง:

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

ดูเหมือนว่าจะมีความเกี่ยวข้องกับ "ยกเลิกการใช้เธรด" หรืออะไรบางอย่างดังนั้นฉันมั่นใจว่าเป็น IIS ที่ยกเลิกการร้องขอ กระบวนการ w3wp.exe ดูเหมือนว่าจะทำงานบางครั้งแม้หลังจากที่การร้องขอหยุดดังนั้นฉันไม่คิดว่าเว็บแอปพลิเคชันจะสังเกตเห็นจนกว่าจะถึงเวลาที่จะเขียนลงในเอาต์พุตสตรีม

แก้ไข: ได้ลองตอนนี้ด้วยการเชื่อมต่อที่แตกต่างกันและดูเหมือนว่าไฟร์วอลล์ของฉันจะหยุดการเชื่อมต่อเนื่องจากไม่มีข้อมูล (ก่อนกำหนด) ดังนั้นรหัส 995


ค่าเริ่มต้น "minBytesPerSecond" คือ 240 ซึ่งจะส่งผลใน 46 นาที แต่คุณอาจเห็นการหมดเวลาที่ปรับแบบไดนามิกบางอย่างแทน (IIS ทำเช่นนั้นขึ้นอยู่กับ dynamicIdleThreshold ถ้าไม่ใช่ 0)
eckes

คำตอบ:


0

ฉันมีปัญหาเดียวกันในกรณีของฉันอะแดปเตอร์เครือข่ายเป็นสาเหตุของสถานะ sc-win32- สถานะ 995 คุณเปลี่ยนอะไรในไฟร์วอลล์เพื่อป้องกันปัญหานี้ ในตัวจัดการอุปกรณ์ => อะแดปเตอร์เครือข่าย => คุณสมบัติ => ขั้นสูงคุณสามารถตั้งค่าเครือข่ายที่เกี่ยวข้องได้หลายอย่าง


ไฟร์วอลล์ของเรามี ALG สำหรับ HTTP ที่กำหนดค่าไว้ซึ่งจะตัดการเชื่อมต่อหลังจาก 120 วินาทีหากไม่มีข้อมูลไหลผ่าน ฉันเพิ่งปิดใช้งานสำหรับ IP ที่เป็นปัญหา
jishi

0

ลองตรวจสอบการตั้งค่า "executionTimeout" ใน ASP.NET ค่าเริ่มต้นสำหรับสิ่งนั้นดูเหมือนจะเป็น 110 วินาทีซึ่งคล้ายกับสิ่งที่คุณรายงาน:

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

นี่อาจแสดงการกำหนดค่าใด ๆ เหล่านี้:

  • Machine.config
  • Web.config ระดับราก
  • Web.config ระดับแอปพลิเคชัน
  • Web.config ระดับไดเรกทอรีเสมือนหรือทางกายภาพ

หวังว่านี่จะช่วยได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.