อาการ
เซิร์ฟเวอร์ที่กำลังเรียกใช้ Microsoft Forefront คุกคามจัดการเกตเวย์ (TMG) 2010 อาจหยุดการยอมรับการเชื่อมต่อใหม่บนพร็อกซีของเว็บที่เฉพาะเจาะจงหรือตัวฟังเว็บ ปัญหานี้อาจเกิดขึ้นหลังจากหลายชั่วโมงในหนึ่งวันของเซิร์ฟเวอร์ uptime
สาเหตุ
ปัญหานี้เกิดขึ้นเมื่อ TMG หยุดการเชื่อมต่อใหม่บนตัวฟังเว็บที่ยอมรับ ซึ่งกรอกข้อมูลคิวรายการคงค้างสำหรับซ็อกเก็ตไดรเวอร์ (AFD) ฟังก์ชันพิเศษในเร็ว ๆ นี้ หลังจากที่คิวรายการคงค้างจะเต็ม เซิร์ฟเวอร์เริ่มต้นการตั้งค่าการเชื่อมต่อขาเข้าใหม่ ถ้าคุณตรวจสอบเซิร์ฟเวอร์ โดยใช้จอภาพของเครือข่ายในสถานการณ์นี้ คุณอาจสังเกตเห็น SYN รูประดาษ/ฟลเดอร์สำหรับแต่ละความพยายามในการเชื่อมต่อใหม่
การแก้ปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ติดตั้งค่าสะสม 5สำหรับ Service Pack Forefront คามจัดการเกตเวย์ (TMG) 2010 2
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
หลังจากที่คุณติดตั้งค่าสะสม 5 คุณต้องเปิดใช้งานฟังก์ชันการทำงานเป็นเวลาที่ไม่ได้ใช้งานออกยอมรับการเรียก เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
-
คัดลอกสคริปต์ต่อไปนี้ลงใน Notepad และจากนั้น บันทึกแฟ้มเป็น SetAcceptIdleTimeout.vbs:
'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"Const strVpsPropertyName = "AcceptIdleTimeout"Const Error_FileNotFound = &H80070002Set objArgs = wscript.Argumentsif objArgs.Count > 0 then uAcceptIdleTimeout = objArgs(0)end ifif objArgs.Count <> 1 then wscript.echo "Usage: SetAcceptIdleTimeout.vbs <timeout>" wscript.echo wscript.echo "Set async accept timeout to <timeout> value (in sec)" wscript.echo "To disable async accept timeout set it to 0" wscript.Quit 2end ifset objArray = CreateObject("FPC.Root").GetContainingArray()Set objVPSet = OpenVPSet(objArray, strVpsGUID)objVPSet.Value(strVpsPropertyName) = uAcceptIdleTimeoutobjArray.Save()objArray.RestartServices(1)function OpenVPSet(objParent, strVpsGUID) Set objVPSets = objParent.VendorParametersSets On Error Resume Next Set OpenVPSet = objVPSets.Item(strVpsGUID) ' Save the Err properties in case it needs to be re-raised errNumber = Err.Number errSource = Err.Source errDescription = Err.Description errHelpFile = Err.HelpFile errHelpContext = Err.HelpContext On Error GoTo 0 if errNumber = Error_FileNotFound Then Set OpenVPSet = objVPSets.Add(strVpsGUID) Elseif errNumber < 0 Then ' An error other than "file not found" occurred -- re-raise the error, ' this time not under "On Error Resume Next" Err.Raise errNumber, errSource, errDescription, errHelpFile, errHelpContext End Ifend function -
เรียกใช้สคริปต์บนเซิร์ฟเวอร์ TMG อย่างใดอย่างหนึ่ง ตัวอย่างเช่นเมื่อต้องการตั้งค่ารอบระยะเวลาการหมดเวลาเป็น 5 นาที เรียกใช้ต่อไปนี้จากพรอมต์คำสั่งการจัดการ:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
เมื่อต้องการทำการเปลี่ยนแปลงนี้มีผลบังคับใช้ เริ่มบริการไฟร์วอลล์บนสมาชิกของแถวลำดับทั้งหมด
เมื่อต้องการเลิกทำการเปลี่ยนแปลง เรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่าการหมดเวลาไม่ได้ใช้งานเป็น 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
ข้อมูลอ้างอิง
เรียนรู้เกี่ยวกับคำศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์