ประสิทธิภาพของเครือข่ายที่ช้าที่เกิดขึ้นหากคุณคัดลอกแฟ้มไปยังตัวควบคุมโดเมนที่ใช้ Windows 2000 หรือ Windows Server 2003

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 321098 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

ถ้าคุณคัดลอกแฟ้มจากคอมพิวเตอร์ไคลเอนต์ที่ใช้ Microsoft Windows 2000 คอมพิวเตอร์ไคลเอนต์ที่ใช้ Microsoft Windows XP หรือคอมพิวเตอร์ไคลเอนต์ที่ใช้ Microsoft Windows Server 2003 ไปยังเครือข่ายใช้ร่วมกันบนตัวควบคุมโดเมนที่ใช้ Windows 2000 หรือ Windows Server 2003 ประสิทธิภาพของเครือข่ายได้ช้ากว่าถ้าคุณคัดลอกแฟ้มเดียวกันกับเซิร์ฟเวอร์ของสมาชิกที่ใช้ Windows 2000 หรือ Windows Server 2003 คุณอาจพบปัญหานี้ได้ถ้าคุณคัดลอกแฟ้มขนาดเล็กมาก อย่างไรก็ตาม คุณอาจไม่พบปัญหานี้หากคุณคัดลอกแฟ้มขนาดใหญ่ที่สองหรือสาม ปัญหานี้เกิดขึ้น หากคุณใช้ Microsoft Windows Explorer เพื่อคัดลอกแฟ้มอย่างใดอย่างหนึ่ง หรือ ถ้าหน้าต่าง Windows Explorer ถูกเปิดอยู่ และเชื่อมโยงไปยังเซิร์ฟเวอร์เป้าหมายเท่านั้น อย่างไรก็ตาม ถ้าคุณใช้ Xcopy.exe เพื่อคัดลอกแฟ้ม และหน้าต่าง Windows Explorer ทั้งหมดปิดแล้ว คุณไม่พบปัญหานี้

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการบล็อกข้อความของเซิร์ฟเวอร์ (SMB) การดำเนินเขียนไปยังตัวควบคุมโดเมนที่กำลังเรียกใช้ Windows 2000 หรือ Windows Server 2003 อาจพบความล่าช้าของมิลลิวินาที 200 ถึงระหว่างการคัดลอกแฟ้ม

ถ้าคุณทบทวนการติดตามของปัญหาได้ คุณสังเกตเห็นว่า หน่วงเวลาที่เกิดขึ้นหลังจากที่ไคลเอ็นต์เซิร์ฟเวอร์ส่งอินการเปลี่ยนแปลงการแจ้งเตือน smbคำสั่งจากรายการ FID ที่ตรงกับรายการ FID ของโฟลเดอร์เป้าหมาย การร้องขอการเปลี่ยนแปลงการแจ้งเตือนการลงรายการบัญชี windows Explorer ในการแชร์ในเครือข่าย ซึ่งขอให้มีการแจ้งเตือนถ้าสิ่งที่เปลี่ยนแปลงในโฟลเดอร์ที่ปรากฏในบานหน้าต่างด้านขวาของ Windows Explorer ถ้าตัวควบคุมโดเมนได้รับการร้องขอการเปลี่ยนแปลงการแจ้งเตือน คุณไม่ตอบสนองนั้นทันที จะไม่ส่งแพคเก็ตสำหรับมิลลิวินาที 200 ถึง ณจุดนั่น ส่งแพคเก็ตตอบรับ (ACK) ส่งควบคุมโพรโทคอล (TCP) อย่างง่าย และการดำเนินการแฟ้มกลับสู่แบบปกติ

ลักษณะการทำงานนี้คือ ผลลัพธ์ของการโต้ตอบระหว่างส่วนสองหลักของระบบเครือข่ายประกอบของ Windows 2000, TCP ล่าช้า ACKs และเธรด prioritization บนตัวควบคุมโดเมน เธรด prioritization อนุญาตให้ตัวควบคุมโดเมนในการจัดลำดับความถูกต้องสำคัญบริการไดเรกทอรีและการดำเนินงานการจัดการบัญชีก่อนกิจกรรมบางอย่าง SMB เช่นการตอบสนองการร้องขอการเปลี่ยนแปลงการแจ้งเตือน

การแก้ไข

สิ่งสำคัญนี้ส่วน วิธี หรืองานประกอบด้วยขั้นตอนที่บอกวิธีการแก้ไขรีจิสทรี อย่างไรก็ตาม ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีไม่ถูกต้อง ดังนั้น โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง สำหรับการป้องกันเพิ่มเติม ให้สำรองรีจิสทรีก่อนทำการปรับเปลี่ยน เพื่อที่คุณจะสามารถคืนค่ารีจิสทรีได้หากมีปัญหาเกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูลและคืนค่ารีจิสทรี โปรดคลิกที่หมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
322756วิธีการสำรองข้อมูลและคืนค่ารีจิสทรีใน Windows

เมื่อคุณควรพิจารณาถึงปัญหานี้ ให้ทราบว่า จะเกิดขึ้นในสถานการณ์ที่เฉพาะเจาะจงมากเท่านั้น เกิดปัญหานี้เท่านั้นหากไคลเอนต์ใช้ Windows Explorer เพื่อคัดลอกแฟ้มจำนวนมากไปยังตัวควบคุมโดเมนที่ใช้ Windows 2000 ถ้าคุณเปลี่ยนค่าของตัวจับเวลา ACK ภายหลัง คุณสามารถป้องกันบางอาการเกิดขึ้น การอย่างไรก็ตาม ถ้าคุณปรับเปลี่ยนค่า TCP/IP หลัก คุณอาจพบผลลัพธ์ที่ไม่คาดคิดในอนาคต ดังนั้น Microsoft แนะนำว่า คุณต้องพิจารณาทางเลือกอื่นก่อนที่คุณปรับเปลี่ยนตัวจับเวลา วิธีการแก้ไขอื่น ๆ รวมถึงการย้ายการใช้ไฟล์ร่วมกันไปยังเซิร์ฟเวอร์ของสมาชิก หรือการใช้เครื่องมืออื่น (เช่น Xcopy หรือ Robocopy ซึ่งเป็นส่วนหนึ่งของทรัพยากร Kit การ Windows 2000) ในการคัดลอกหมายเลขที่มีขนาดใหญ่ของแฟ้มไปยังตัวควบคุมโดเมน

ในตัวควบคุมโดเมน คุณสามารถแก้ไขการTcpDelAckTicksค่ารีจิสทรีเพื่อปรับปรุง TCP ล่าช้าตัวจับเวลา ACK ถ้าคุณเปลี่ยน TCP ล่าช้า ACK ตัวจับเวลาที่เป็นค่าที่ต่ำกว่า เซิร์ฟเวอร์จะส่งแพคเก็ตใช้ ACK มากกว่าบ่อย แต่ ในช่วงเวลาที่สั้นลง

โปรดสังเกตว่า ในเวลาที่แฝงที่สูง ขอ saturated เซ็กเมนต์ เพิ่มสุทธิในแพ็คเก็ต ACK จากตัวควบคุมโดเมนอาจวางเมื่อยล้าเพิ่มเติมบนเครือข่าย เพื่อให้แน่ใจว่า TCP ที่มีการเปลี่ยนแปลงค่าตัวจับเวลา ACK ล่าช้าไม่ก่อให้เกิดการเติม bottlenecks ทดสอบค่าอย่างละเอียด

ถ้าเครือข่ายสามารถจัดการแพคเก็ต ACK พิเศษ ใช้โปรแกรมแก้ไขด่วน Pack 3 (SP3) ต่อไปนี้ของ pre-Service Windows 2000 Service Pack 2 (SP2) เพื่อให้คุณสามารถปรับเปลี่ยนค่าตัวจับเวลา ACK ล่าช้า:

311833ค่ารีจิสทรี TcpDelAckTicks ได้ไม่มีลักษณะพิเศษบน ACK timeouts
หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ ใช้ขั้นตอนต่อไปนี้เพื่อเพิ่มค่ารีจิสทรีต่อไปนี้ที่ระบุพารามิเตอร์ที่กำหนดเองสำหรับตัวจับเวลา ACK ล่าช้า:
  1. เริ่มการทำงานของโปรแกรม Registry Editor (Regedt32.exe)
  2. ค้นหา และคลิกที่คีย์ต่อไปนี้ในรีจิสทรี ที่ใดGUID ของการ์ดเชื่อมต่อมีตัวระบุที่ไม่ซ้ำกัน (GUID) สำหรับการ์ดเชื่อมต่อเครือข่ายที่เชื่อมต่อกับไคลเอนต์:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\GUID ของการ์ดเชื่อมต่อ
  3. ในการแก้ไขเมนู คลิกเพิ่มค่าแล้ว เพิ่มค่ารีจิสทรีต่อไปนี้:
    ชื่อค่า::TcpDelAckTicks
    ชนิดข้อมูล: REG_DWORD
    ค่าข้อมูล: คุณสามารถตั้งค่านี้ไปยังช่วงตั้งแต่ 0 ถึง 6 การตั้งค่าเริ่มต้นคือ 2 (มิลลิวินาที 200)
  4. ออกจากโปรแกรม Registry Editor
  5. รีสตาร์ท Windows สำหรับการเปลี่ยนแปลงนี้จะมีผล
ค่ารีจิสทรีนี้ระบุจำนวนของช่วง 100 millisecond จะใช้สำหรับการจับเวลา ACK ล่าช้าในเกณฑ์พื้นฐานสำหรับแต่ละอินเทอร์เฟซ โดยค่าเริ่มต้น ค่าตัวจับเวลา ACK ล่าช้าเป็นมิลลิวินาที 200 ถ้าคุณตั้งค่านี้TcpDelAckTicksมูลค่าไป0, acknowledgments ล่าช้าถูกปิดใช้งาน การตั้งค่านี้ทำให้คอมพิวเตอร์ส่งแพ็คเก็ต ACK สำหรับทุก ๆ แพ็คเก็ตที่ได้รับทันที

หมายเหตุ:ค่าเฉพาะตัวของการการ์ดเชื่อมต่ออยู่ภายใต้คีย์ย่อยของอะแดปเตอร์แต่ละ ตรวจสอบให้แน่ใจว่า คุณได้เพิ่มการTcpDelAckTicksค่ารีจิสทรีคีย์ต่อไปนี้:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\GUID ของการ์ดเชื่อมต่อ
ไม่ต้องเพิ่มค่านี้ไปยังรีจิสทรีคีย์ต่อไปนี้:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "การใช้งาน"

ข้อมูลเพิ่มเติม

ในการสืบเครือข่าย คุณสามารถดูว่า ไคลเอนต์ส่งการ " SMB: C NT transact - การแจ้งเตือนการเปลี่ยนแปลง" แพคเก็ตได้ ตัวควบคุมโดเมนที่ใช้ Windows 2000 ส่งกลับแพคเก็ตใช้ ACK ไปยังไคลเอนต์มิลลิวินาที 200 ในภายหลัง After the client receives the ACK packet, the client begins the next SMB operation and copies the next file.

หมายเหตุ:If you are using Network Monitor, you can see the delays better if you use the following filter:
SMB:Command == 0xA0 ( NT transact )
Use this filter in combination with the following display options:
Time: (x) Seconds from previous frame
You can identify the corresponding requests and answers by looking at the following SMB frame attribute:
SMB: Multiplex ID (MID)
The Delayed Acknowledgments functionality is based on Request for Comments (RFC) 1122. TCP uses delayed ACKs to reduce the number of packets that are sent on the network. The Microsoft TCP/IP stack takes a common approach to implementing delayed ACKs. When the data is received by TCP on a connection, the stack only returns an ACK if one of the following conditions is met:
  • Condition 1: No ACK is sent for the previous segment that is received.
  • Condition 2: A segment is received, but no other segment arrives within 200 milliseconds (the default value) for that connection.
Typically, an ACK is sent for every other TCP segment that is received on a connection unless the delayed ACK timer (200 milliseconds) expires. You can adjust the delayed ACK timer by using the procedure that is described in the "Resolution" section of this article to add theTcpDelAckTicksregistry value (this value is new in Windows 2000).

หมายเหตุ:Be aware that if you change theTcpDelAckTicksregistry value, you may experience unexpected effects in the future. Therefore, Microsoft recommends that you consider other alternatives before you modify the timer.

The delay occurs if the previous packet was acknowledged and the Notify Change request response is queued by a domain controller for a period of time that sometimes exceeds 200 milliseconds. Because the default ACK timer counts to 200 milliseconds, the TCP ACK packet occurs 200 milliseconds after the Notify Change request is received from the client. Because the client waits for a response from the server before it proceeds with the next SMB operation, the delay occurs while the server's delayed ACK timer counts to its threshold. If you perform a network trace, you notice that not every Notify Change request from the client experiences a delay.

การร้องขอการแจ้งเตือนการเปลี่ยนแปลงที่ไม่พบความล่าช้าอยู่ก่อนหน้า โดยแพคเก็ตอื่นซึ่งไม่มีการตอบรับทันที เลื่อน ดังนั้น การรับรองจะไม่ออกในการรับรองของตัวควบคุมโดเมนได้เนื่องจากมีการตอบสนองแรกของเงื่อนไขที่อธิบายไว้ที่ตำแหน่งเริ่มต้นของหัวข้อนี้ แพคเก็ตก่อนหน้านี้ที่ตอบรับที่ร้องขอการเปลี่ยนแปลงการแจ้งเตือนที่พบการหน่วงเวลาการมี ดังนั้น ตัวควบคุมโดเมนไม่ตอบสนองกลับจนกว่าหมดอายุของตัวจับเวลา ACK ล่าช้า (ค่าเริ่มต้นเป็นมิลลิวินาที 200) ได้เนื่องจากการที่สองของเงื่อนไขที่อธิบายไว้ในส่วนนี้จะถูกทริกเกอร์

คุณไม่สามารถแก้ไข prioritization เธรดของตัวควบคุมโดเมน ดังนั้น คุณต้องเปลี่ยน TCP ล่าช้าค่าตัวจับเวลา ACK กับค่าที่ต่ำลงเพื่อป้องกันการอาการต่าง ๆ ที่อธิบายไว้ในส่วน "อาการ" ของบทความนี้เกิดขึ้น หลังจากที่คุณทำเช่นนั้น เซิร์ฟเวอร์จะส่งค่า ACK ขึ้นบ่อยครั้ง แต่ ในช่วงเวลาที่สั้นลง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการTcpDelAckTicksรีจิสทรีค่า การอ้างอิงถึงเอกสารทางเทคนิคที่อยู่บนเว็บไซต์ต่อไปนี้ของ Microsoft:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft::
270926วิธีการแก้ไขปัญหาการตัดสินค้าจากคลังสำเนาของแฟ้มเครือข่ายใน Windows 2000
บนไคลเอนต์ที่ใช้ Windows XP หรือ Windows Server 2003 ไม่มีคีย์รีจิสทรีใหม่ที่ชื่อ TcpAckFrequency ที่มีการเข้าถึงตัวควบคุม TCP ACKs ก่อนตัวจับเวลา ACK ล่าช้าสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
328890รายการรีจิสทรีใหม่สำหรับการควบคุมการทำงานที่ยอมรับ TCP (ACK) ใน Windows XP และ Windows Server 2003
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
321169ประสิทธิภาพ SMB ที่ช้าลงเมื่อคุณคัดลอกแฟ้มจาก Windows XP ไปยังตัวควบคุมโดเมน Windows 2000

คุณสมบัติ

หมายเลขบทความ (Article ID): 321098 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
Keywords: 
kbprb kbmt KB321098 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:321098

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com