ผู้รับ จำกัด ขนาดหน้าต่าง TCP ไว้ที่ 64,512


34

ข้อเท็จจริง (โปรดระบุข้อความเท็จใด ๆ ):

  1. ฉันมีการเชื่อมต่อ 100 Mbps ระหว่างสองไซต์ที่ห่างกัน 80 ms

  2. นี่คือการเชื่อมต่อที่ยาวนานซึ่งสามารถได้รับประโยชน์จากขนาดหน้าต่าง TCP ขนาดใหญ่อาจสูงถึง 100 Mbps * 0.08 วินาที = 1,000,000 ไบต์

  3. ทั้งสองเครื่องกำลังเรียกใช้ Windows Server 2012 "การรับระดับการปรับอัตโนมัติของหน้าต่าง" เป็นเรื่องปกติสำหรับทั้งสองเครื่อง "ฮิวริสติกการปรับสเกลหน้าต่าง" ถูกปิดใช้งานทั้งคู่

  4. ฉันวิ่ง "iperf -s" ข้างหนึ่งและ "iperf -c" ที่อีกด้านหนึ่ง การถ่ายโอนเกิดขึ้นที่ 5 Mbps ฉันได้ผลลัพธ์เดียวกันไปในทิศทางอื่น

  5. ทั้งสองฝ่ายได้โฆษณาการสนับสนุนสำหรับหน้าต่างบานเลื่อน TCP ใน SYN

  6. ผู้รับร้องขอขนาดหน้าต่าง TCP ที่ 64,512 ไบต์ (0xFC00) ในระหว่างการทำงานทั้งหมดด้วยค่าระดับหน้าต่าง TCP ที่ "ไม่มีการเปลี่ยนแปลง" (0x000)

  7. เครือข่ายสามารถจัดการขนาดหน้าต่างที่ใหญ่ขึ้น (ดูแผนภาพลำดับด้านล่าง)

  8. ผู้รับทำให้หน้าต่างเล็กกว่าที่รองรับเครือข่าย

  9. การเชื่อมต่อนี้เกิดขึ้นภายใน IPSEC VPN MTU ของอินเตอร์เฟสอุโมงค์ลดลงเป็น 1,400 ไบต์ทั้งสองทิศทาง

คำถาม

  • ทำไมเครื่องรับทำให้หน้าต่างเล็ก

ที่ไม่ใช่คำตอบ

  • เครือข่ายใช้งานไม่ได้

    เครื่อง Linux ที่ทำงานบนเครือข่ายเดียวกันเปิดหน้าต่าง TCP ไปที่ 1.5 เมกะไบต์และส่งข้อมูลที่ 6 เท่าของแบนด์วิดท์

  • เปิดใช้งานการแก้ปัญหาการปรับขนาดหน้าต่าง

    การปรับขนาดหน้าต่างการวิเคราะห์พฤติกรรมถูกปิดใช้งาน (ดูผลลัพธ์ของ "ส่วนต่อประสาน netsh tcp แสดงการวิเคราะห์พฤติกรรม" ด้านล่าง)

  • รับระดับการปรับอัตโนมัติของหน้าต่างไม่ปกติ

    รับหน้าต่างปรับระดับอัตโนมัติเป็นเรื่องปกติ (ดูผลลัพธ์ของ "ส่วนต่อประสาน netsh tcp แสดงทั่วโลก" ด้านล่าง)

  • สิ่งนี้ใช้ไม่ได้กับเครื่องเสมือนภายใน ESXi

    ฉันได้รับประสิทธิภาพที่ดีขึ้น 6 เท่าในเครื่อง linux เสมือนที่ทำงานบนโฮสต์เดียวกัน


อัปเดต 1 12 มิถุนายน 2558 16:30 น. PDT

ฉันแก้ไขการทดสอบโดยวาง linux ไว้ที่ด้านหนึ่งของการเชื่อมต่อ เมื่อลินุกซ์ส่งข้อมูลไปยัง Windows Server 2012 Windows จะเสนอหน้าต่างรับ TCP ขนาดเล็กเกินไป (64,512 ไบต์)

เมื่อฉันส่งข้อมูลจาก Windows ไปยัง linux linux เสนอหน้าต่างรับ TCP ที่ใหญ่พอ (1,365,120 bytes) อย่างไรก็ตาม Windows จะ จำกัด การส่งสูงสุดถึง 60,000 ไบต์ในเที่ยวบิน


อัปเดต 2 13 มิถุนายน 2558 15:00 น. PDT

ขั้นตอนที่ใกล้เคียงกับสาเหตุที่แท้จริง ในการตั้งค่าของฉันจะไม่มีการตั้งค่า SO_SNDBUF หรือ SO_RCVBUF (โดย iperf) เหล่านี้คือบัฟเฟอร์การส่งและรับซึ่งผูกกับหน้าต่างการรับอย่างมีประสิทธิภาพ เมื่อไม่ได้ระบุค่าเหล่านี้ Windows Server 2012 จะให้ค่าเริ่มต้นเป็น 64 kB ดังนั้นคำถามคือตอนนี้:

คำถาม

  • เมื่อหนึ่งไม่ได้ระบุเหตุผลที่ไม่ได้ Windows Server 2012 แบบไดนามิกที่เพิ่มขึ้น SO_SNDBUF / SO_RCVBUF เพื่อรองรับท่อไขมันยาวตามที่อธิบายไว้ในMSDN ?

ที่ไม่ใช่คำตอบ

  • "netsh winsock show autotuning" ถูกปิดการใช้งาน

    มันเปิดใช้งาน


อัปเดต 3 24 สิงหาคม 2558 16:00 น. PDT

เห็นได้ชัดว่า netsh ถูกแทนที่ด้วย Set-NetTCPStingting และตระกูล Get-NetTCPS การตั้งค่าเมื่อรวมกับ Get-NetTCPConnection แสดงว่าฉันกำลังทำงานในระบบอินเทอร์เน็ตที่ให้การตั้งค่าเหล่านี้กับฉัน:

SettingName                   : Internet
MinRto(ms)                    : 300
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : CTCP
CwndRestart                   : False
DelayedAckTimeout(ms)         : 50
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

ผู้ส่งการตั้งค่า TCP

PS C:\Users\acs> netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : enabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Receive Segment Coalescing State    : enabled

PS C:\Users\acs> netsh interface tcp show heuristics
TCP Window Scaling heuristics Parameters
----------------------------------------------
Window Scaling heuristics         : disabled
Qualifying Destination Threshold  : 3
Profile type unknown              : normal
Profile type public               : normal
Profile type private              : normal
Profile type domain               : normal

PS C:\Users\acs> Get-NetTCPSetting

SettingName                   : Automatic
MinRto(ms)                    : 
InitialCongestionWindow(MSS)  : 
CongestionProvider            : 
CwndRestart                   : 
DelayedAckTimeout(ms)         : 
MemoryPressureProtection      : 
AutoTuningLevelLocal          : 
AutoTuningLevelGroupPolicy    : 
AutoTuningLevelEffective      : 
EcnCapability                 : 
Timestamps                    : 
InitialRto(ms)                : 
ScalingHeuristics             : 
DynamicPortRangeStartPort     : 
DynamicPortRangeNumberOfPorts : 

SettingName                   : Custom
MinRto(ms)                    : 20
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : DCTCP
CwndRestart                   : True
DelayedAckTimeout(ms)         : 10
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Compat
MinRto(ms)                    : 300
InitialCongestionWindow(MSS)  : 2
CongestionProvider            : Default
CwndRestart                   : False
DelayedAckTimeout(ms)         : 200
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Datacenter
MinRto(ms)                    : 20
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : DCTCP
CwndRestart                   : True
DelayedAckTimeout(ms)         : 10
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Internet
MinRto(ms)                    : 300
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : CTCP
CwndRestart                   : False
DelayedAckTimeout(ms)         : 50
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

ผู้ส่ง SYN

No.     Time           Source                Destination           Protocol Length Delta      Sequence number Acknowledgment number Bytes in flight Calculated window size Info
    814 5.036577000    10.10.0.21            10.11.0.1             TCP      66     0.000000000 0               0                                     64512                  49758→5001 [SYN, ECN, CWR] Seq=0 Win=64512 Len=0 MSS=1460 WS=1 SACK_PERM=1

Frame 814: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
Ethernet II, Src: 00:11:22:33:44:55, Dst: aa:bb:cc:dd:ee:ff
Internet Protocol Version 4, Src: 10.10.0.21 (10.10.0.21), Dst: 10.11.0.1 (10.11.0.1)
Transmission Control Protocol, Src Port: 49758 (49758), Dst Port: 5001 (5001), Seq: 0, Len: 0
    Source Port: 49758 (49758)
    Destination Port: 5001 (5001)
    [Stream index: 73]
    [TCP Segment Len: 0]
    Sequence number: 0    (relative sequence number)
    Acknowledgment number: 0
    Header Length: 32 bytes
    .... 0000 1100 0010 = Flags: 0x0c2 (SYN, ECN, CWR)
    Window size value: 64512
    [Calculated window size: 64512]
    Checksum: 0x1451 [validation disabled]
    Urgent pointer: 0
    Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted
        Maximum segment size: 1460 bytes
        No-Operation (NOP)
        Window scale: 0 (multiply by 1)
            Kind: Window Scale (3)
            Length: 3
            Shift count: 0
            [Multiplier: 1]
        No-Operation (NOP)
        No-Operation (NOP)
        TCP SACK Permitted Option: True

มุมมองของผู้ส่งของกราฟลำดับ ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

รับการตั้งค่า TCP

PS C:\Users\acs> netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : enabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Receive Segment Coalescing State    : enabled

PS C:\Users\acs> netsh interface tcp show heuristics
TCP Window Scaling heuristics Parameters
----------------------------------------------
Window Scaling heuristics         : disabled
Qualifying Destination Threshold  : 3
Profile type unknown              : normal
Profile type public               : normal
Profile type private              : normal
Profile type domain               : normal

PS C:\Users\acs> Get-NetTCPSetting

SettingName                   : Automatic
MinRto(ms)                    : 
InitialCongestionWindow(MSS)  : 
CongestionProvider            : 
CwndRestart                   : 
DelayedAckTimeout(ms)         : 
MemoryPressureProtection      : 
AutoTuningLevelLocal          : 
AutoTuningLevelGroupPolicy    : 
AutoTuningLevelEffective      : 
EcnCapability                 : 
Timestamps                    : 
InitialRto(ms)                : 
ScalingHeuristics             : 
DynamicPortRangeStartPort     : 
DynamicPortRangeNumberOfPorts : 

SettingName                   : Custom
MinRto(ms)                    : 20
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : DCTCP
CwndRestart                   : True
DelayedAckTimeout(ms)         : 10
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Compat
MinRto(ms)                    : 300
InitialCongestionWindow(MSS)  : 2
CongestionProvider            : Default
CwndRestart                   : False
DelayedAckTimeout(ms)         : 200
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Datacenter
MinRto(ms)                    : 20
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : DCTCP
CwndRestart                   : True
DelayedAckTimeout(ms)         : 10
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

SettingName                   : Internet
MinRto(ms)                    : 300
InitialCongestionWindow(MSS)  : 4
CongestionProvider            : CTCP
CwndRestart                   : False
DelayedAckTimeout(ms)         : 50
MemoryPressureProtection      : Enabled
AutoTuningLevelLocal          : Normal
AutoTuningLevelGroupPolicy    : NotConfigured
AutoTuningLevelEffective      : Local
EcnCapability                 : Enabled
Timestamps                    : Disabled
InitialRto(ms)                : 3000
ScalingHeuristics             : Disabled
DynamicPortRangeStartPort     : 49152
DynamicPortRangeNumberOfPorts : 16384

รับ SYN

No.     Time           Source                Destination           Protocol Length Delta      Sequence number Acknowledgment number Bytes in flight Calculated window size Info
    817 5.110501000    10.11.0.1             10.10.0.21            TCP      70     0.073924000 0               1                                     64512                  5001→49758 [SYN, ACK, ECN] Seq=0 Ack=1 Win=64512 Len=0 MSS=1460 WS=1 SACK_PERM=1 [ETHERNET FRAME CHECK SEQUENCE INCORRECT]

Frame 817: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface 0
Ethernet II, Src: aa:bb:cc:dd:ee:ff, Dst: 00:11:22:33:44:55
Internet Protocol Version 4, Src: 10.11.0.1 (10.11.0.1), Dst: 10.10.0.21 (10.10.0.21)
Transmission Control Protocol, Src Port: 5001 (5001), Dst Port: 49758 (49758), Seq: 0, Ack: 1, Len: 0
    Source Port: 5001 (5001)
    Destination Port: 49758 (49758)
    [Stream index: 73]
    [TCP Segment Len: 0]
    Sequence number: 0    (relative sequence number)
    Acknowledgment number: 1    (relative ack number)
    Header Length: 32 bytes
    .... 0000 0101 0010 = Flags: 0x052 (SYN, ACK, ECN)
    Window size value: 64512
    [Calculated window size: 64512]
    Checksum: 0xb5bb [validation disabled]
    Urgent pointer: 0
    Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted
        Maximum segment size: 1460 bytes
        No-Operation (NOP)
        Window scale: 0 (multiply by 1)
            Kind: Window Scale (3)
            Length: 3
            Shift count: 0
            [Multiplier: 1]
        No-Operation (NOP)
        No-Operation (NOP)
        TCP SACK Permitted Option: True
    [SEQ/ACK analysis]

มุมมองของตัวรับสัญญาณของกราฟลำดับ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

หน้าต่าง TCP ป้อนคำอธิบายรูปภาพที่นี่


1
คุณช่วยเพิ่มการกำหนดค่าที่แน่นอน - soft และฮาร์ดแวร์ที่เกี่ยวข้อง (การ์ดเครือข่าย) สำหรับทั้งสองด้านได้หรือไม่?
TomTom

1
เสียงเหมือนการปรับแต่งหน้าต่างถูกจำกัด
David Schwartz

@TomTom ทั้งสองเครื่องเป็น VMs ภายใน ESXi ที่ทำงานบน HP Proliant DL380 G5 อะแดปเตอร์อีเธอร์เน็ตเสมือนคือ Intel 82574L ฮาร์ดแวร์อะแดปเตอร์อีเธอร์เน็ตคือ BCM5719
Chris Stankevitz

@David Schwartz "ได้รับระดับการปรับแต่งหน้าต่างโดยอัตโนมัติ" เป็นเรื่องปกติทั้งในและ "ปิดการปรับขนาดหน้าต่าง" ถูกปิดใช้งาน (ดูการกำหนดค่าที่อัปเดตใน OP) ผมเชื่อว่านี่แสดงให้เห็นว่าการปรับจูนไม่ได้จำกัด
Chris Stankevitz

2
ฉันไม่คิดว่าคำถามนี้จะเป็นไปตามความคิดเห็นฉันคิดว่าปัญหาที่แท้จริงของมันที่การตอบที่ดีนั้นจะต้องมีการแก้ไขข้อบกพร่องของระบบ / เครือข่ายของ OP ซึ่งสามารถทำได้โดยเขาเท่านั้นและไม่ใช่เรา .
peterh กล่าวว่าคืนสถานะโมนิก้า

คำตอบ:


1

ฉันเคยเห็นสิ่งนี้ว่าเป็นปัญหาเฉพาะของไดรเวอร์ ในกรณีของฉันกับตัวควบคุมเครือข่าย QLogic ที่พยายามใช้ TCPChimney ลิงก์นี้อธิบายถึงฟังก์ชันการทำงานของ TCPChimney ที่เพิ่มใน Windows 2008 - แต่ฉันค่อนข้างมั่นใจว่ามันยังคงใช้งานได้: https://support.microsoft.com/en-us/kb/951037

ฉันอยากจะแนะนำการทดสอบต่อไปนี้ตามลำดับ; หลังจากการทดสอบแต่ละครั้งให้เริ่มระบบใหม่และดูว่าผู้รับเริ่มเพิ่ม TCP RWIN ตามที่คาดไว้หรือไม่

1) โหลดไดรเวอร์เวอร์ชั่นล่าสุดสำหรับอะแดปเตอร์เครือข่ายบนคอมพิวเตอร์ที่รับสัญญาณ 1) ปิดใช้งาน TCPChimney บนคอมพิวเตอร์ที่รับ 2) ปิดใช้งานการถ่าย 'TCP Receive' ทั้งหมด ซึ่งจะพบได้ในการตั้งค่าขั้นสูงของคุณสมบัติอะแดปเตอร์เครือข่าย (พื้นที่เดียวกับที่จะตั้งค่าความเร็ว & ดูเพล็กซ์) 3) ปิดการโหลด 'TCP Send' ทั้งหมด (รวมถึงคุณสมบัติขั้นสูงของอะแดปเตอร์เครือข่าย)

(และตรงกันข้ามกับความคิดเห็น "และขนาดหน้าต่าง TCP ขนาดใหญ่ที่เกิน 65k นั้นไม่ดีสำหรับเซิร์ฟเวอร์ดังนั้นความต้องการหน่วยความจำสำหรับการเชื่อมต่อที่เพิ่มขึ้น 65k เพียงอย่างเดียวอาจไม่ทำให้คุณมีความสุขมากพอ - user303507 6 ส.ค. '15 ที่ 11:30" TCP ขนาดใหญ่ที่ได้รับ Windows ไม่ได้เลวร้ายสำหรับเซิร์ฟเวอร์ในกรณีของการเชื่อมโยงที่มีแบนด์วิดท์สูง, ความหน่วงสูง (เช่นการถ่ายทอดผ่านดาวเทียม) จำเป็นต้องใช้ค่า RWIN ขนาดใหญ่เพื่อให้เรามีข้อมูล TCP เพิ่มเติม "ในไพพ์" การเชื่อมต่อ 600 Mbps พร้อมเวลาหน่วง 3000 ms การเชื่อมโยงแบนด์วิดท์สูงจะถูก จำกัด ไว้ที่ประมาณ 20 KBps เนื่องจากข้อมูล TCP ที่ไม่ได้รับการรับส่งอาจมีเพียง 65 KB "ในท่อ" ในแต่ละครั้ง)


0

ดูเหมือนว่าข้อผิดพลาดในการปรับค่าอัตโนมัติของ Windows ให้ฉันอาจมีบางอย่างเกี่ยวกับสิ่งนี้หรือไม่ https://support.microsoft.com/en-us/kb/932170

คุณลองร้องขอค่า SO_RCVBUF ที่ใหญ่ขึ้นด้วยตนเองโดยใช้ WskControlSocket หรือไม่


ในทางเทคนิคแล้วบัฟเฟอร์เหล่านั้นไม่มีความสัมพันธ์กับขนาดหน้าต่าง TCP: stackoverflow.com/questions/14381303/increasing-tcp-window-size
Mary

Phil: ฉันใช้ Windows Server 2012 ทั้งสองข้างเพื่อให้ลิงก์ใช้ไม่ได้ แต่ฉันสงสัยว่ามีข้อบกพร่องบางอย่าง ฉันสามารถขอ SO_RCVBUF ที่มีขนาดใหญ่ขึ้น - และนั่นช่วยได้ - แต่นั่นไม่ได้ช่วยให้ฉันเข้าใจสิ่งที่เสียหาย (ดู "อัปเดต 2")
Chris Stankevitz

แมรี่: บัฟเฟอร์สัมพันธ์กับขนาดหน้าต่างโดยอ้อม สแต็กเครือข่ายจะรับรู้บัฟเฟอร์ขนาดเล็กและจึงไม่เพิ่มขนาดหน้าต่าง ฉันอธิบายสิ่งนี้โดยใช้การเขียนด้วยมือใน "อัปเดต 2"
Chris Stankevitz

0

ใช้เครื่องมือเพิ่มประสิทธิภาพเครือข่ายเช่น Cisco WAAS หรือ Riverbed พวกเขาทำ acks ท้องถิ่นอย่างรวดเร็วดังนั้นคุณจึงไม่จำเป็นต้องกังวลเกี่ยวกับการตั้งค่าเซิร์ฟเวอร์ ในเครือข่ายที่ใหญ่กว่าคุณจะไม่มีผลต่อการตั้งค่าเซิร์ฟเวอร์เนื่องจากเป็นทีมอื่น ๆ


และขนาดหน้าต่าง TCP ขนาดใหญ่ที่เกิน 65k นั้นไม่ดีสำหรับเซิร์ฟเวอร์ 65k เพียงอย่างเดียวอาจไม่ทำให้คุณมีความสุขมากพอ
user303507

user303507: ฉันต้องการเข้าใจว่าเกิดอะไรขึ้นกับสแต็กเครือข่าย Windows Server 2012 ฉันไม่สนใจที่จะปิดบังปัญหากับอุปกรณ์เครือข่าย แต่ฉันยอมรับว่าการซื้ออุปกรณ์เครือข่ายหรือย้ายสำนักงานเข้ามาใกล้กันจะช่วยแก้ไขปัญหานี้ได้
Chris Stankevitz

ความคิดเห็นของผู้ใช้อาจเป็นไปในทางที่ถูกต้อง - ฉันสงสัยว่าความกังวลเกี่ยวกับหน่วยความจำจะทำให้หน้าต่าง จำกัด ขนาดหน้าต่างตามการตั้งค่าฮิวริสติกหรือการตั้งค่ารีจิสทรีที่มองไม่เห็น ไม่ใช่ว่าเป็นพฤติกรรมที่เหมาะสมสมมติว่าคุณถูกต้องเกี่ยวกับเอกสาร
Dan Pritts

0

นี่คือข้อมูลที่ฉันค้นพบซึ่งอาจเป็นคำตอบที่คุณกำลังมองหา โปรดสังเกตว่าการกล่าวถึงขีด จำกัด 64kb ในโหมดปิดใช้งานอาจเป็นเงื่อนงำถึงขีด จำกัด ที่คล้ายกันในโหมดปกติที่ไม่ได้บันทึกไว้

ลองเปิดใช้งานโหมด "ทดลอง" สำหรับระดับการปรับอัตโนมัติทางดาราศาสตร์

เมื่อตั้งค่า Windows Auto-Tuning level การตั้งค่าที่เป็นไปได้มีดังนี้:

  • ปกติ: ค่าเริ่มต้นช่วยให้หน้าต่างรับขยายขึ้นเพื่อรองรับเงื่อนไขส่วนใหญ่
  • ปิดใช้งาน: ใช้ค่าคงที่สำหรับหน้าต่างรับ TCP จำกัด ไว้ที่ 64KB (จำกัด ที่ 65535)
  • อย่าง จำกัด : อนุญาตให้หน้าต่างรับขยายเกินกว่าค่าเริ่มต้นอย่างระมัดระวัง
  • ถูก จำกัด : การเติบโตค่อนข้าง จำกัด ของหน้าต่างรับ TCP เกินค่าเริ่มต้น
  • การทดลอง: อนุญาตให้หน้าต่างรับขยายขึ้นเพื่อรองรับสถานการณ์สมมติที่รุนแรง (ไม่แนะนำให้ใช้ซึ่งสามารถลดประสิทธิภาพในสถานการณ์ทั่วไปโดยมีวัตถุประสงค์เพื่อการวิจัยเท่านั้นซึ่งช่วยให้ค่า RWIN มีค่ามากกว่า 16 MB)

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