TCPOptimizer - เพิ่มความเร็วอินเทอร์เน็ต, ปรับให้เหมาะสม, ลด ping การคำนวณขนาดบัฟเฟอร์ TCP

ฉันไม่รู้ว่าการแก้ไขเหล่านี้จะทำงานอย่างไรบนเซิร์ฟเวอร์นี้
แต่พวกเขาช่วยฉันได้มาก...​

เทคนิคที่เพิ่มการตอบสนองของเกม และในบางกรณี ขจัดความล่าช้า:​


ขั้นตอนเหล่านี้ใช้ได้และทดสอบบน Windows 7.

หากสาขาที่ระบุในวรรค 5 หายไป ให้ทำดังต่อไปนี้:
เปิด – เริ่ม – แผงควบคุม – โปรแกรมและคุณสมบัติ – (ซ้าย) เปิดและปิดส่วนประกอบของ Windows
ที่นั่นเราพบประเด็น - เซิร์ฟเวอร์ Microsoft Message Queuing (MSMQ)และใส่เครื่องหมายถูกไว้ด้านหน้าและช่องทำเครื่องหมายทั้งหมดด้านในในรายการแบบเลื่อนลงของส่วนประกอบ เรารีบูทไปที่รีจิสตรีและดูรายการที่เราต้องการ

มีตัวเลือกในการเปลี่ยนคีย์รีจิสทรี

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\มัลติมีเดีย\SystemProfile
ชื่อ: NetworkThrottlingIndex (หากไม่ใช่ ให้สร้างขึ้นใหม่)
พารามิเตอร์: DWORD

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

ตัวเลือกเพิ่มเติม:

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

บท HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  • กระสอบ
    การเลือกส่งข้อมูลที่เสียหาย ช่วยได้มากในการต่อสู้กับความล่าช้าหากไคลเอนต์ไม่คดโกง
    ค่าแนะนำ: 1 (หน่วย).
    หากต้องการปิดใช้งาน: 0
  • เปิดใช้งานPMTUDiscovery
    ตรวจจับโดยอัตโนมัติ ขนาดสูงสุดบล็อกข้อมูลที่ส่ง
    ค่าแนะนำ: 1 (หน่วย).
    หากต้องการปิดใช้งาน: 0
  • เปิดใช้งาน PMTUBHDetect
    เปิดใช้งานอัลกอริธึมการตรวจจับเราเตอร์หลุมดำ ฉันเห็นคำแนะนำในการตั้งค่าพารามิเตอร์นี้เป็น 0 อย่างไรก็ตามสำหรับตัวฉันเอง ฉันไม่ได้สังเกตเห็นผลกระทบของพารามิเตอร์นี้ต่อ ping และทุกคนต้องการการเชื่อมต่อที่เชื่อถือได้ =)
    ค่าแนะนำ: 1 (หน่วย).
    หากต้องการปิดใช้งาน: 0
  • ปิดการใช้งาน TaskOffload
    ช่วยให้คุณยกเลิกการโหลดโปรเซสเซอร์กลางทำให้ไม่ต้องคำนวณ เช็คซัมสำหรับโปรโตคอล TCP โดยเปลี่ยนงานนี้ไปยังอะแดปเตอร์เครือข่าย
    ค่าแนะนำ: 0 (ศูนย์).
    หากต้องการปิดใช้งาน: 1
    ข้อเสีย: หากมีข้อผิดพลาดในการเชื่อมต่อ ให้ปิดการใช้งานตัวเลือกนี้
  • ค่าเริ่มต้นTTL
    กำหนด เวลาสูงสุดค้นหาแพ็กเก็ต IP บนเครือข่ายหากไม่สามารถเข้าถึงโฮสต์ปลายทางได้ สิ่งนี้ช่วยให้เราสามารถจำกัดจำนวนเราเตอร์ที่แพ็กเก็ต IP สามารถผ่านไปได้อย่างมากก่อนที่จะถูกทิ้ง (จะเกิดอะไรขึ้นถ้าแพ็กเก็ตสูญหาย เราจะรอทำไม?)
    ค่าทศนิยมที่แนะนำ: 64
    หากต้องการปิดใช้งาน: ลบตัวเลือก
บท HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched
  • ขีดจำกัดความพยายามที่ไม่ดีที่สุด
    ปิดใช้งานการจองแบนด์วิดท์ช่องสำหรับ QoS
    ค่าแนะนำ: 0 (ศูนย์).
คุณสามารถใช้เพื่อหลีกเลี่ยงการแก้ไขการตั้งค่าเพิ่มเติมเหล่านี้ในรีจิสทรีด้วยตนเอง ไฟล์ reg สำเร็จรูปสำหรับ การรวมและ การปิดระบบ คุณสมบัติเหล่านี้

การปรับแต่งเครือข่าย:


เริ่มตั้งแต่ระบบปฏิบัติการเวอร์ชันนี้ พารามิเตอร์เครือข่ายเพิ่มเติมปรากฏขึ้นซึ่งอาจเป็นประโยชน์สำหรับเรา การปรับแต่งเหล่านี้เป็นคำสั่งที่ ในกรณีนี้ซึ่งมีการตั้งค่าที่แนะนำทันที หากต้องการใช้งาน คุณจะต้องเรียกใช้บรรทัดคำสั่ง (cmd) ในฐานะผู้ดูแลระบบ หากต้องการดู การตั้งค่าปัจจุบันคุณสามารถใช้คำสั่ง netsh int tcp แสดงทั่วโลก

ดังนั้นคำสั่ง:

  • netsh int tcp ตั้งค่า global rss=enabled
    การใช้กระบวนการต่างๆ เพื่อประมวลผลสตรีมขาเข้า โดยไม่มี RSS TCP/IP จะทำงานบนโปรเซสเซอร์เพียงตัวเดียวเสมอ แม้ว่าพีซีจะเป็นแบบมัลติโปรเซสเซอร์ก็ตาม
  • netsh int tcp ตั้งค่า global netdma=enable
    การแลกเปลี่ยนข้อมูลระหว่าง การ์ดเครือข่ายและหน่วยความจำ RAM โดยไม่ต้องมีส่วนร่วมของ CPU (NetDMA)
    ค่าที่เป็นไปได้: เปิด / ปิด
  • netsh int tcp ตั้งค่า global dca=enable
    เข้าถึงแคช NetDMA 2.0 ได้โดยตรง (Direct Cache Acess)
    ค่าที่เป็นไปได้: เปิด / ปิด
  • อินเทอร์เฟซ netsh tcp ตั้งค่าการวิเคราะห์พฤติกรรม wsh = เปิดใช้งาน
    การกำหนดขนาดหน้าต่าง TCP อัตโนมัติ (WSH) ตามทฤษฎีแล้ว มันจะลบล้างการตั้งค่าของพารามิเตอร์ถัดไป แต่ปล่อยให้เป็นไปเพื่อที่ในภายหลังคุณจะสามารถเปิด/ปิดการใช้งานบางอย่างได้อย่างง่ายดายโดยไม่เบี่ยงเบนไปจากเป้าหมายมากเกินไป
    ค่าที่เป็นไปได้: เปิด / ปิด
  • netsh int tcp ตั้งค่า global autotuninglevel=highlyrestricted
    ปรับขนาดหน้าต่างรับ TCP โดยอัตโนมัติโดยไม่เบี่ยงเบนไปจากค่าเริ่มต้นมากนัก
    ค่าที่เป็นไปได้: ปิดใช้งาน / ถูกจำกัดสูง / ถูกจำกัด / ปกติ / ทดลอง
  • netsh int tcp ตั้งค่าการประทับเวลาทั่วโลก = เปิดใช้งาน
    การประทับเวลาเมื่อติดตั้งด้วยปุ่มต่างๆ เช่น ระดับการปรับอัตโนมัติ เพื่อเลือกขนาดของหน้าต่างรับสัญญาณให้เหมาะสมที่สุด
    ค่าที่เป็นไปได้: เปิด / ปิด
  • netsh int tcp ตั้งค่า ecncapability ทั่วโลก = เปิดใช้งาน
    ECN เป็นกลไกสำหรับเราเตอร์ในการสื่อสารเกี่ยวกับความแออัดของเครือข่าย มันถูกออกแบบมาเพื่อลดการถ่ายทอดแพ็กเก็ต ซึ่งจะช่วยให้คุณสามารถลดอัตราการถ่ายโอนข้อมูลโดยอัตโนมัติเพื่อป้องกันข้อมูลสูญหาย คำอธิบายพูดเพื่อความน่าเชื่อถือ
    ค่าที่เป็นไปได้: เปิด / ปิด
  • netsh int tcp ตั้งค่า global congestionprovider=none
    CTCP เพิ่มอัตราการส่งข้อมูลในขณะที่ควบคุมขนาดหน้าต่างและปริมาณงาน (ผู้ให้บริการควบคุมความแออัดของ Add-On) ในคำแนะนำทั้งหมดบนอินเทอร์เน็ตที่ฉันเจอ พวกเขาแนะนำให้ตั้งค่าพารามิเตอร์นี้เท่ากับ ctcp อย่างไรก็ตามในทางปฏิบัติทุกอย่างมีความซับซ้อนมากขึ้น ในกรณีของฉัน มันทำให้เกิดความล่าช้านานกว่าเท่านั้น แม้ว่าที่จริงแล้วมันดูเหมือนว่าจะได้รับการออกแบบมาเพื่อกำจัดการสูญเสียแพ็กเก็ต (และทุกอย่างเช่นนั้น) ดังนั้นฉันจึงยังคงแนะนำค่าไม่มีเลยโดยพิจารณาจากประสบการณ์ บางทีในเครือข่ายที่มีการสื่อสารที่เชื่อถือได้มากขึ้น CTCP จะให้ผลกำไร
    ค่าที่เป็นไปได้: ไม่มี / ctcp / ค่าเริ่มต้น

ปิดการใช้งานโปรโตคอลเครือข่าย Teredo (สำหรับผู้ที่ไม่ได้ใช้ IPv6)


นวัตกรรมที่ตรวจสอบการเชื่อมต่อและแพ็กเก็ตอย่างต่อเนื่องเพื่อดูว่าอยู่ในเครือข่าย IPv6 หรือไม่ โหลดการ์ดเครือข่ายและอุดตันช่องข้อมูลของเรา การปิดใช้งาน Teredo สามารถเพิ่มความเร็วเครือข่ายและอินเทอร์เน็ตของคุณได้ดังนี้:
เปิดตัวกันเลย บรรทัดคำสั่ง (เริ่ม > รัน > cmd) และป้อนคำสั่งทีละรายการ
เน็ตช
อินเตอร์เฟซ
เทเรโด
ตั้งค่าสถานะเป็นปิดใช้งาน

หากต้องการส่งคืน Teredo จะต้องป้อนคำสั่งเดียวกัน ยกเว้นคำสั่งสุดท้าย อันสุดท้ายควรจะเป็น ตั้งค่าเริ่มต้นของรัฐ

สลับระหว่างหน้าต่าง

ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันประสบปัญหาในการสลับหน้าต่างของไคลเอนต์ที่ทำงานอยู่ สาระสำคัญของปัญหาคือเมื่อเปลี่ยนหน้าต่างที่ใช้งานอยู่ระบบจะเปลี่ยนเป็นเดสก์ท็อปหรือไม่เปลี่ยนหน้าต่างเลย โชคดีที่ฉันพบวิธีแก้ปัญหา! ปัญหาถูกซ่อนอยู่ในอินเทอร์เฟซ Aero ของตัวสลับหน้าต่างมาตรฐาน การแก้ไขเล็กน้อยจะเปลี่ยนสไตล์ของสวิตช์เป็นสไตล์ของ Win XP แบบคลาสสิก ลิงค์เก็บถาวรด้านล่าง...

ไฟล์เก็บถาวรมีสองไฟล์ไฟล์หนึ่งสำหรับการติดตั้งและอีกไฟล์หนึ่งสำหรับการเลิกทำการเปลี่ยนแปลงหากการแก้ไขนี้ไม่ได้ช่วยคุณในทันใด

ผู้ใช้เกือบทุกคนต้องการให้คอมพิวเตอร์เชื่อมต่อกับเวิลด์ไวด์เว็บให้เร็วที่สุดเท่าที่จะเป็นไปได้ ปัญหานี้มีความเกี่ยวข้องโดยเฉพาะกับเครือข่ายข้อมูลความเร็วต่ำ โดยที่ทุกๆ KB/s มีความสำคัญ มาดูวิธีเพิ่มตัวบ่งชี้นี้บนพีซีที่ใช้ Windows 7

ควรสังเกตทันทีว่าเป็นไปไม่ได้เลยที่จะเพิ่มพารามิเตอร์ความเร็วอินเทอร์เน็ตเกินกว่าที่แบนด์วิดท์เครือข่ายสามารถให้ได้ นั่นคือประกาศโดยผู้ให้บริการ ความเร็วสูงสุดการถ่ายโอนข้อมูลเป็นขีดจำกัดที่คุณไม่สามารถข้ามไปได้ ดังนั้นอย่าไปเชื่อ “สูตรมหัศจรรย์” ต่างๆ ที่คาดว่าจะสามารถเร่งการถ่ายโอนข้อมูลได้อย่างมาก สิ่งนี้เป็นไปได้เฉพาะเมื่อเปลี่ยนผู้ให้บริการหรือเปลี่ยนไปใช้แผนภาษีอื่น แต่ในขณะเดียวกัน ตัวระบบเองก็สามารถทำหน้าที่เป็นตัวจำกัดบางอย่างได้ นั่นคือการตั้งค่าสามารถลดแบนด์วิดท์ได้แม้จะต่ำกว่าระดับที่กำหนดโดยผู้ให้บริการอินเทอร์เน็ตก็ตาม

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

วิธีที่ 1: เครื่องมือเพิ่มประสิทธิภาพ TCP

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


วิธีที่ 2: NameBench

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

  1. หลังจากดาวน์โหลด NameBench แล้ว ให้รัน ไฟล์การติดตั้ง- ไม่จำเป็นต้องมีสิทธิ์ระดับผู้ดูแลระบบ คลิก "สารสกัด"- หลังจากนี้แอปพลิเคชันจะถูกแตกไฟล์
  2. ในสนาม "สืบค้นแหล่งข้อมูล"โปรแกรมจะเลือกเบราว์เซอร์ที่เหมาะสมที่สุดในความเห็นซึ่งติดตั้งบนคอมพิวเตอร์เครื่องนี้เพื่อทำการทดสอบ แต่ถ้าคุณต้องการ โดยการคลิกที่ฟิลด์นี้ คุณสามารถเลือกเว็บเบราว์เซอร์อื่นจากรายการได้ หากต้องการเริ่มค้นหาเซิร์ฟเวอร์ DNS คลิก “เริ่มต้นเกณฑ์มาตรฐาน”.
  3. อยู่ระหว่างขั้นตอนการค้นหา อาจใช้เวลานานพอสมควร (สูงสุด 1 ชั่วโมง)
  4. หลังจากการทดสอบเสร็จสิ้น เบราว์เซอร์ที่ติดตั้งไว้ในคอมพิวเตอร์ของคุณตามค่าเริ่มต้นจะเปิดขึ้น ในเพจของเขา โปรแกรม NameBench อยู่ในบล็อก "การกำหนดค่าที่แนะนำ"จะแสดงที่อยู่ของเซิร์ฟเวอร์ DNS ที่แนะนำสามแห่ง
  5. โดยไม่ต้องปิดเบราว์เซอร์ ให้ดำเนินการดังต่อไปนี้ คลิก "เริ่ม", ลงชื่อเข้าใช้ "แผงควบคุม".
  6. ในบล็อก "เครือข่ายและอินเทอร์เน็ต"คลิกที่ตำแหน่ง "ดูสถานะเครือข่ายและงาน".
  7. ในหน้าต่างที่ปรากฏขึ้น "ศูนย์ควบคุมเครือข่าย"ในกลุ่มพารามิเตอร์ "เชื่อมต่อหรือยกเลิกการเชื่อมต่อ"คลิกที่ชื่อเครือข่ายปัจจุบันซึ่งแสดงอยู่หลังพารามิเตอร์ "การเชื่อมต่อ".
  8. ในหน้าต่างที่ปรากฏขึ้น ให้คลิก "คุณสมบัติ".
  9. หลังจากเปิดหน้าต่างในบล็อกส่วนประกอบแล้ว ให้เลือกตำแหน่ง "TCP/IPv4"- คลิก "คุณสมบัติ".
  10. ในหน้าต่างที่ปรากฏในส่วนนี้ "ทั่วไป"เลื่อนไปที่ด้านล่างของตัวเลือก ตั้งปุ่มตัวเลือกให้อยู่ในตำแหน่ง "ใช้ที่อยู่เซิร์ฟเวอร์ DNS ต่อไปนี้"- ฟิลด์ด้านล่างทั้งสองจะเปิดใช้งาน หากมีค่าบางอย่างอยู่แล้ว อย่าลืมเขียนใหม่ เนื่องจากโอเปอเรเตอร์บางตัวใช้งานได้กับเซิร์ฟเวอร์ DNS บางตัวเท่านั้น ดังนั้น หากการเชื่อมต่อกับเวิลด์ไวด์เว็บขาดหายไป เนื่องจากการเปลี่ยนแปลงเพิ่มเติม คุณจะต้องส่งคืนที่อยู่เก่า ในสนาม "เซิร์ฟเวอร์ DNS ที่ต้องการ" "เซิร์ฟเวอร์หลัก"เบราว์เซอร์ ในสนาม « เซิร์ฟเวอร์ DNS สำรอง» ป้อนที่อยู่ที่ปรากฏในพื้นที่ "เซิร์ฟเวอร์รอง"เบราว์เซอร์ คลิก "ตกลง".

หลังจากนี้ความเร็วอินเทอร์เน็ตควรเพิ่มขึ้นเล็กน้อย หากคุณไม่สามารถเข้าถึงเครือข่ายได้เลย ให้คืนค่าการตั้งค่าเซิร์ฟเวอร์ DNS ก่อนหน้า

วิธีที่ 3: ตั้งค่าตัวกำหนดเวลาแพ็คเก็ต

สามารถเพิ่มค่าของพารามิเตอร์ที่กำลังศึกษาได้โดยการเปลี่ยนการตั้งค่าตัวกำหนดเวลาแพ็กเก็ต

  1. เรียกวิธีรักษา "วิ่ง", กำลังสมัคร วิน+อาร์- เข้า:

    คลิก "ตกลง".

  2. หน้าต่างจะเปิดขึ้น "ตัวแก้ไขนโยบายกลุ่มภายใน"- ในบริเวณด้านซ้ายของเปลือก ของเครื่องดนตรีชิ้นนี้เปิดบล็อก "การกำหนดค่าคอมพิวเตอร์"และคลิกที่ชื่อโฟลเดอร์ "เทมเพลตการดูแลระบบ".
  3. จากนั้นย้ายไปทางด้านขวาของอินเทอร์เฟซแล้วคลิกที่โฟลเดอร์ที่นั่น "สุทธิ".
  4. ตอนนี้เข้าสู่ไดเร็กทอรี "ตัวกำหนดเวลาแพ็คเก็ต QoS".
  5. ในที่สุดหลังจากไปที่โฟลเดอร์ที่ระบุแล้วให้คลิกที่รายการ "จำกัดแบนด์วิธที่สงวนไว้".
  6. หน้าต่างจะเปิดขึ้นพร้อมชื่อเดียวกับรายการที่เราคลิกก่อนหน้านี้ ที่ด้านซ้ายบน ให้ตั้งปุ่มตัวเลือกไปที่ตำแหน่ง "เปิดเครื่อง"- ในสนาม "ขีดจำกัดแบนด์วิธ"อย่าลืมตั้งค่า «0» มิฉะนั้นคุณจะไม่มีความเสี่ยงที่จะไม่เพิ่มความเร็วในการรับและส่งข้อมูลผ่านเครือข่าย แต่ในทางกลับกันจะลดความเร็วลง จากนั้นคลิก "นำมาใช้"และ "ตกลง".
  7. ตอนนี้คุณต้องตรวจสอบว่ามีการเปิดใช้งานตัวกำหนดเวลาแพ็คเก็ตในคุณสมบัติของเครือข่ายที่คุณใช้อยู่หรือไม่ ในการทำเช่นนี้คุณต้องเปิดหน้าต่าง "สถานะ"เครือข่ายปัจจุบัน จะมีการหารือเกี่ยวกับวิธีการทำเช่นนี้ วิธีที่ 2- คลิกที่ปุ่ม "คุณสมบัติ".
  8. หน้าต่างคุณสมบัติสำหรับการเชื่อมต่อปัจจุบันจะเปิดขึ้น ตรวจสอบให้แน่ใจว่าอยู่ตรงข้ามกับรายการ "ตัวกำหนดเวลาแพ็คเก็ต QoS"เลือกช่องทำเครื่องหมายแล้ว หากยืนอยู่แสดงว่าทุกอย่างเรียบร้อยและคุณสามารถปิดหน้าต่างได้ หากไม่มีช่องทำเครื่องหมาย ให้ทำเครื่องหมายแล้วคลิก "ตกลง".

หลังจากนี้ คุณน่าจะได้รับความเร็วอินเทอร์เน็ตเพิ่มขึ้นบางส่วน

วิธีที่ 4: การตั้งค่าการ์ดเครือข่าย

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

  1. นำทางโดยใช้เมนู "เริ่ม"วี "แผงควบคุม"เช่นเดียวกับที่เราทำข้างต้น ไปที่ส่วน “ระบบและความปลอดภัย”.
  2. ถัดไปในกลุ่มการตั้งค่า "ระบบ"ไปที่รายการ "ตัวจัดการอุปกรณ์".
  3. หน้าต่างเปิดขึ้น "ตัวจัดการอุปกรณ์"- ทางด้านซ้ายของหน้าต่าง ให้คลิกที่รายการ "อะแดปเตอร์เครือข่าย".
  4. รายการอะแดปเตอร์เครือข่ายที่ติดตั้งบนคอมพิวเตอร์จะเปิดขึ้น รายการนี้อาจมีองค์ประกอบเดียวหรือหลายองค์ประกอบ ในกรณีหลัง คุณจะต้องดำเนินการต่อไปนี้โดยสลับกับอะแดปเตอร์แต่ละตัว ดังนั้นคลิกที่ชื่อการ์ดเครือข่าย
  5. หน้าต่างคุณสมบัติจะเปิดขึ้น ย้ายไปที่แท็บ “การจัดการพลังงาน”.
  6. หลังจากเปิดแท็บที่เกี่ยวข้องแล้ว ให้ทำเครื่องหมายในช่องถัดจากรายการ "อนุญาตให้คอมพิวเตอร์ปิดอุปกรณ์นี้"- หากมีเครื่องหมายอยู่ก็ควรจะลบออก นอกจากนี้ หากมี ให้ยกเลิกการเลือกช่อง "อนุญาตให้อุปกรณ์นี้ปลุกคอมพิวเตอร์จากโหมดสลีป"ถ้าแน่นอน คุณมีรายการนี้ใช้งานอยู่เลย คลิก "ตกลง".
  7. ตามที่กล่าวมาข้างต้นทำ การดำเนินการนี้ด้วยองค์ประกอบทั้งหมดที่อยู่ในกลุ่ม "อะแดปเตอร์เครือข่าย"วี "ตัวจัดการอุปกรณ์".

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

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

วิธีที่ 5: เปลี่ยนแผนการใช้พลังงาน

คุณยังสามารถเพิ่มความเร็วในการแลกเปลี่ยนข้อมูลกับเวิลด์ไวด์เว็บได้ด้วยการเปลี่ยนแผนการใช้พลังงานปัจจุบัน


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

วิธีที่ 6: ส่วนขยายพอร์ต COM

คุณสามารถเพิ่มความเร็วการเชื่อมต่อบน Windows 7 ได้ด้วยการขยายพอร์ต COM


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

คุณยังสามารถให้คำแนะนำทั่วไปที่จะปรับปรุงความเร็วอินเทอร์เน็ตของคุณได้ ดังนั้นหากคุณมีโอกาสเลือกระหว่างการเชื่อมต่อแบบใช้สายและ Wi-Fi ให้เลือกอันแรกเนื่องจาก การเชื่อมต่อแบบมีสายดำเนินงานด้วย ขาดทุนน้อยลงมากกว่าไร้สาย

หากไม่สามารถใช้การเชื่อมต่อแบบใช้สายได้ ให้ลองวางเราเตอร์ Wi-Fi ให้ใกล้กับคอมพิวเตอร์มากที่สุด หากคุณใช้แล็ปท็อปที่ไม่ได้เชื่อมต่อกับแหล่งจ่ายไฟหลัก ในทางกลับกัน คุณสามารถวางแล็ปท็อปไว้ใกล้กับเราเตอร์ได้ ดังนั้นคุณจะลดการสูญเสียระหว่างการส่งสัญญาณและเพิ่มความเร็วอินเทอร์เน็ต เมื่อใช้โมเด็ม 3G ให้วางคอมพิวเตอร์ให้ใกล้กับหน้าต่างมากที่สุด ซึ่งจะทำให้สัญญาณสามารถผ่านได้อย่างอิสระที่สุด คุณยังสามารถพันโมเด็ม 3G ด้วยลวดทองแดงเพื่อให้มีรูปร่างเหมือนเสาอากาศได้ นอกจากนี้ยังจะช่วยเพิ่มความเร็วในการถ่ายโอนข้อมูลอีกด้วย

ที่ โดยใช้ Wi-Fiอย่าลืมตั้งรหัสผ่านสำหรับการเชื่อมต่อ หากไม่มีรหัสผ่าน ทุกคนสามารถเชื่อมต่อกับจุดของคุณได้ ดังนั้นจึง "รับ" ส่วนหนึ่งของความเร็วสำหรับตนเอง

ต้องแน่ใจว่าได้เป็นระยะโดยไม่ใช้ โปรแกรมป้องกันไวรัสมาตรฐานและยูทิลิตี้เฉพาะทาง เป็นต้น ความจริงก็คือว่ามากมาย มัลแวร์ใช้คอมพิวเตอร์เพื่อถ่ายโอนข้อมูลไปยัง "หลัก" และการจัดการอื่น ๆ ผ่านเครือข่าย ซึ่งจะช่วยลดความเร็วในการเชื่อมต่อ ด้วยเหตุผลเดียวกัน ขอแนะนำให้ปิดการใช้งานแถบเครื่องมือและปลั๊กอินที่ไม่ได้ใช้ทั้งหมดในเบราว์เซอร์ เนื่องจากพวกมันยังส่งและรับผ่านทาง ช่องทางเครือข่ายข้อมูลที่มักไม่มีประโยชน์ต่อผู้ใช้

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

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

  • การแปล

และเทคโนโลยีบางอย่าง ได้แก่ TCP Fast Open, การควบคุมการไหลและความแออัด และการปรับขนาดหน้าต่าง ในส่วนที่สอง เราจะเรียนรู้ว่า TCP Slow Start คืออะไร วิธีปรับอัตราการถ่ายโอนข้อมูลให้เหมาะสมและเพิ่มหน้าต่างเริ่มต้น และยังรวบรวมคำแนะนำทั้งหมดสำหรับการปรับสแต็ก TCP/IP ให้เหมาะสม

เริ่มต้นช้า

แม้จะมีการควบคุมการไหลใน TCP แต่การล่มสลายของการสะสมเครือข่ายก็เป็นปัญหาที่แท้จริงในช่วงกลางทศวรรษที่ 80 ปัญหาคือแม้ว่าการควบคุมโฟลว์จะป้องกันไม่ให้ผู้ส่งจมผู้รับข้อมูล แต่ก็ไม่มีกลไกใดที่จะป้องกันไม่ให้สิ่งนี้เกิดขึ้นกับเครือข่าย ท้ายที่สุดทั้งผู้ส่งและผู้รับไม่ทราบความกว้างของช่องสัญญาณในขณะที่การเชื่อมต่อเริ่มต้นขึ้น ดังนั้น พวกเขาจึงจำเป็นต้องมีกลไกบางอย่างในการปรับความเร็วให้เข้ากับสภาพเครือข่ายที่เปลี่ยนแปลง

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

ในปี 1988 Van Jacobson และ Michael J. Carels ได้พัฒนาอัลกอริธึมหลายอย่างเพื่อต่อสู้กับปัญหานี้: การเริ่มต้นช้า การหลีกเลี่ยงความแออัด การส่งสัญญาณซ้ำอย่างรวดเร็ว และ ฟื้นตัวอย่างรวดเร็ว- ในไม่ช้าพวกเขาก็กลายเป็นส่วนบังคับของข้อกำหนด TCP เชื่อกันว่าด้วยอัลกอริธึมเหล่านี้ จึงเป็นไปได้ที่จะหลีกเลี่ยงปัญหาอินเทอร์เน็ตทั่วโลกในช่วงปลายทศวรรษที่ 80/ต้นทศวรรษที่ 90 ซึ่งเป็นช่วงที่การรับส่งข้อมูลเพิ่มขึ้นอย่างมาก

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

วิธีเดียวเท่านั้นประมาณความกว้างของช่องสัญญาณระหว่างไคลเอนต์และเซิร์ฟเวอร์ - วัดระหว่างการสื่อสาร และนี่คือสิ่งที่การเริ่มต้นช้าเกิดขึ้น ขั้นแรก เซิร์ฟเวอร์จะเริ่มต้นตัวแปรหน้าต่างความแออัดใหม่ (cwnd) สำหรับการเชื่อมต่อ TCP และตั้งค่าอย่างระมัดระวังเป็นค่าของระบบ (initcwnd บน Linux)

ค่าของตัวแปร cwnd ไม่มีการแลกเปลี่ยนระหว่างไคลเอนต์และเซิร์ฟเวอร์ นี่จะเป็นตัวแปรท้องถิ่นสำหรับเซิร์ฟเวอร์ลอนดอน ถัดไป มีการแนะนำกฎใหม่: จำนวนข้อมูลสูงสุด “ระหว่างทาง” (ไม่ได้รับการยืนยันผ่าน ACK) ระหว่างเซิร์ฟเวอร์และไคลเอนต์จะต้องเป็นค่าที่น้อยที่สุดของ rwnd และ cwnd แต่เซิร์ฟเวอร์และไคลเอนต์จะ "ตกลง" กับค่าที่เหมาะสมที่สุดของหน้าต่างโอเวอร์โหลดได้อย่างไร ท้ายที่สุดแล้ว สภาพเครือข่ายเปลี่ยนแปลงตลอดเวลา และฉันต้องการให้อัลกอริธึมทำงานโดยไม่จำเป็นต้องปรับการเชื่อมต่อ TCP แต่ละรายการ

วิธีแก้ไข: เริ่มการส่งข้อมูลในอัตราที่ช้าและเพิ่มหน้าต่างเมื่อแพ็กเก็ตได้รับการยอมรับ นี่เป็นการเริ่มต้นที่ช้า

ค่าเริ่มต้นของ cwnd ถูกตั้งไว้เป็น 1 ส่วนเครือข่าย RFC 2581 เปลี่ยนส่วนนี้เป็น 4 ส่วน จากนั้น RFC 6928 เปลี่ยนเป็น 10 ส่วน

ดังนั้นเซิร์ฟเวอร์จึงสามารถส่งเซ็กเมนต์เครือข่ายไปยังไคลเอนต์ได้สูงสุด 10 ส่วน หลังจากนั้นจะต้องหยุดการส่งและรอการยืนยัน จากนั้น สำหรับแต่ละ ACK ที่ได้รับ เซิร์ฟเวอร์สามารถเพิ่มค่า cwnd ของตนได้ 1 เซ็กเมนต์ นั่นคือ สำหรับทุกแพ็กเก็ตที่ยืนยันผ่าน ACK จะสามารถส่งแพ็กเก็ตใหม่ได้สองแพ็กเก็ต ซึ่งหมายความว่าเซิร์ฟเวอร์และไคลเอนต์จะ "รับ" ช่องทางที่มีอยู่อย่างรวดเร็ว

ข้าว. 1. การควบคุมและป้องกันการโอเวอร์โหลด

การเริ่มต้นช้าส่งผลต่อการพัฒนาแอปเบราว์เซอร์อย่างไร เนื่องจากการเชื่อมต่อ TCP ทุกครั้งจะต้องผ่านระยะเริ่มต้นที่ช้า เราจึงไม่สามารถใช้ช่องทางที่มีอยู่ทั้งหมดได้ในทันที ทุกอย่างเริ่มต้นด้วยหน้าต่างการจราจรติดขัดเล็กๆ ที่ค่อยๆ ขยายใหญ่ขึ้น ดังนั้น เวลาที่ใช้ในการไปถึงอัตราบิตที่กำหนดจึงเป็นหน้าที่ของความล่าช้าในการเดินทางไปกลับและค่าเริ่มต้นของหน้าต่างความแออัด

ถึงเวลาที่จะถึง cwnd เท่ากับ N


เพื่อให้เข้าใจว่าสิ่งนี้จะเป็นอย่างไรในทางปฏิบัติ เรามาตั้งสมมติฐานดังต่อไปนี้:
  • ไคลเอนต์และเซิร์ฟเวอร์รับ windows: 65,535 ไบต์ (64 KB)
  • ค่าหน้าต่างความแออัดเริ่มต้น: 10 ส่วน
  • ความล่าช้าไปกลับระหว่างลอนดอนและนิวยอร์ก: 56 มิลลิวินาที
แม้จะมีหน้าต่างรับขนาด 64 KB แต่ปริมาณงานของการเชื่อมต่อ TCP ในตอนแรกจะถูกจำกัดด้วยหน้าต่างความแออัด หากต้องการให้ถึงขีดจำกัด 64 KB หน้าต่างความแออัดจะต้องขยายเป็น 45 ส่วน ซึ่งจะใช้เวลา 168 มิลลิวินาที


ความจริงที่ว่าไคลเอนต์และเซิร์ฟเวอร์อาจสามารถแลกเปลี่ยนเมกะบิตต่อวินาทีระหว่างกันนั้นไม่ได้สร้างความแตกต่างให้กับการเริ่มต้นที่ช้า


ข้าว. 2. การเติบโตของหน้าต่างโอเวอร์โหลด

เพื่อลดเวลาที่ใช้ในการเข้าถึงกรอบเวลาความแออัดสูงสุด คุณสามารถลดเวลาที่ใช้แพ็กเก็ตในการเดินทางไป - กลับ - นั่นคือค้นหาเซิร์ฟเวอร์ในเชิงภูมิศาสตร์ใกล้กับไคลเอนต์มากขึ้น

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

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

เริ่มต้นใหม่อย่างช้าๆ (SSR)

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

ไม่น่าแปลกใจที่ SSR อาจส่งผลกระทบร้ายแรงต่อประสิทธิภาพของการเชื่อมต่อ TCP ที่มีอายุยาวนานซึ่งอาจไม่ได้ใช้งานชั่วคราว เช่น เนื่องจากการไม่มีกิจกรรมของผู้ใช้ ดังนั้นจึงเป็นการดีกว่าที่จะปิดการใช้งาน SSR บนเซิร์ฟเวอร์เพื่อปรับปรุงประสิทธิภาพของการเชื่อมต่อที่มีอายุการใช้งานยาวนาน บน Linux คุณสามารถตรวจสอบสถานะ SSR และปิดใช้งานได้ด้วยคำสั่งต่อไปนี้:

$> sysctl net.ipv4.tcp_slow_start_after_idle $> sysctl -w net.ipv4.tcp_slow_start_after_idle=0

เพื่อแสดงให้เห็นถึงผลกระทบของการเริ่มต้นที่ช้าต่อการถ่ายโอนไฟล์ขนาดเล็ก ลองจินตนาการว่าไคลเอนต์ในนิวยอร์กขอไฟล์ขนาด 64 KB จากเซิร์ฟเวอร์ในลอนดอนผ่านการเชื่อมต่อ TCP ใหม่ด้วยพารามิเตอร์ต่อไปนี้:
  • ความล่าช้าในการไปกลับ: 56 มิลลิวินาที
  • ปริมาณงานไคลเอ็นต์และเซิร์ฟเวอร์: 5 Mbps
  • หน้าต่างรับไคลเอนต์และเซิร์ฟเวอร์: 65,535 ไบต์
  • ค่าเริ่มต้นของหน้าต่างความแออัด: 10 ส่วน (10 x 1460 ไบต์ = ~14 KB)
  • เวลาในการประมวลผลของเซิร์ฟเวอร์เพื่อสร้างการตอบสนอง: 40 มิลลิวินาที
  • ไม่มีแพ็กเก็ตสูญหาย ACK สำหรับแต่ละแพ็กเก็ต คำขอ GET แบ่งออกเป็น 1 ส่วน


ข้าว. 3. ดาวน์โหลดไฟล์ผ่านการเชื่อมต่อ TCP ใหม่
  • 0 ms: ไคลเอนต์เริ่มการจับมือ TCP ด้วยแพ็กเก็ต SYN
  • 28 ms: เซิร์ฟเวอร์ส่ง SYN-ACK และตั้งค่าขนาด rwnd
  • 56 ms: ไคลเอนต์ยืนยัน SYN-ACK กำหนดขนาด rwnd และส่งทันที คำขอ HTTPรับ
  • 84 ms: เซิร์ฟเวอร์ได้รับคำขอ HTTP
  • 124 ms: เซิร์ฟเวอร์เสร็จสิ้นการสร้างการตอบสนอง 64 KB และส่งเซ็กเมนต์ TCP 10 รายการก่อนที่จะรอ ACK (ค่า cwnd เริ่มต้นคือ 10)
  • 152 ms: ไคลเอนต์ได้รับ 10 ส่วน TCP และตอบสนองด้วย ACK ต่อแต่ละส่วน
  • 180 ms: เซิร์ฟเวอร์เพิ่ม cwnd สำหรับแต่ละ ACK ที่ได้รับและส่ง 20 ส่วน TCP
  • 208 ms: ไคลเอนต์ได้รับ 20 เซ็กเมนต์ TCP และตอบสนองด้วย ACK ต่อแต่ละเซ็กเมนต์
  • 236 ms: เซิร์ฟเวอร์เพิ่ม cwnd สำหรับแต่ละ ACK ที่ได้รับและส่ง 15 ส่วน TCP ที่เหลือ
  • 264 ms: ไคลเอนต์ได้รับ 15 ส่วน TCP และตอบสนองด้วย ACK ต่อแต่ละส่วน
ใช้เวลา 264 มิลลิวินาทีในการถ่ายโอนไฟล์ 64 KB ผ่านการเชื่อมต่อ TCP ใหม่ ตอนนี้ลองจินตนาการว่าไคลเอนต์ใช้การเชื่อมต่อเดิมซ้ำและทำการร้องขอเดิมอีกครั้ง


ข้าว. 4. ดาวน์โหลดไฟล์ผ่านการเชื่อมต่อ TCP ที่มีอยู่

  • 0 ms: ไคลเอ็นต์ส่งคำขอ HTTP
  • 28 ms: เซิร์ฟเวอร์ได้รับคำขอ HTTP
  • 68 ms: เซิร์ฟเวอร์สร้างการตอบสนอง 64 KB แต่ค่า cwnd มีขนาดใหญ่กว่า 45 เซ็กเมนต์ที่จำเป็นในการส่งไฟล์นี้อยู่แล้ว ดังนั้นเซิร์ฟเวอร์จะส่งเซ็กเมนต์ทั้งหมดพร้อมกัน
  • 96 ms: ไคลเอนต์ได้รับทั้งหมด 45 เซ็กเมนต์และตอบกลับด้วย ACK ต่อแต่ละเซ็กเมนต์
คำขอเดียวกันนี้สร้างขึ้นผ่านการเชื่อมต่อเดียวกัน แต่ไม่ต้องเสียค่าใช้จ่ายในการจับมือและการเริ่มต้นอย่างช้าๆ ขณะนี้เสร็จสิ้นใน 96 มิลลิวินาที เพิ่มขึ้น 275%!

ในทั้งสองกรณี การที่ไคลเอ็นต์และเซิร์ฟเวอร์ใช้ช่องสัญญาณ 5 Mbps ไม่ส่งผลต่อเวลาในการดาวน์โหลดไฟล์ เฉพาะขนาดหน้าต่างความแออัดและเวลาแฝงของเครือข่ายเท่านั้นที่เป็นปัจจัยจำกัด สิ่งที่น่าสนใจคือความแตกต่างด้านประสิทธิภาพระหว่างการเชื่อมต่อ TCP ใหม่และที่มีอยู่จะเพิ่มขึ้นเมื่อเวลาแฝงของเครือข่ายเพิ่มขึ้น

เมื่อคุณเข้าใจปัญหาเวลาแฝงเมื่อสร้างการเชื่อมต่อใหม่แล้ว คุณจะถูกล่อลวงให้ใช้เทคนิคการปรับให้เหมาะสม เช่น Keepalive, Pipelining และ Multiplexing

การเพิ่มค่าเริ่มต้นของหน้าต่างความแออัดของ TCP

นี่เป็นวิธีที่ง่ายที่สุดในการปรับปรุงประสิทธิภาพสำหรับผู้ใช้หรือแอปพลิเคชันทั้งหมดที่ใช้ TCP ระบบปฏิบัติการหลายระบบใช้ค่าใหม่เป็น 10 ในการอัปเดตอยู่แล้ว สำหรับ Linux 10 นี่คือค่าเริ่มต้นสำหรับหน้าต่างโอเวอร์โหลด โดยเริ่มจากเคอร์เนลเวอร์ชัน 2.6.39

การป้องกันการโอเวอร์โหลด

สิ่งสำคัญคือต้องเข้าใจว่า TCP ใช้การสูญเสียแพ็กเก็ตเป็นกลไก ข้อเสนอแนะซึ่งช่วยควบคุมประสิทธิภาพ การเริ่มช้าจะสร้างการเชื่อมต่อกับหน้าต่างความแออัดแบบอนุรักษ์นิยม และเพิ่มปริมาณข้อมูลที่ส่งในแต่ละครั้งเพิ่มขึ้นเป็นสองเท่าจนกระทั่งถึงหน้าต่างรับของผู้รับ เกณฑ์ระบบ sshtresh หรือแพ็กเก็ตเริ่มสูญหาย ณ จุดนี้อัลกอริธึมการหลีกเลี่ยงความแออัดเริ่มทำงาน .

การหลีกเลี่ยงความแออัดขึ้นอยู่กับสมมติฐานที่ว่าการสูญเสียแพ็กเก็ตเป็นตัวบ่งชี้ความแออัดของเครือข่าย ที่ไหนสักแห่งตามเส้นทางของแพ็กเก็ต แพ็กเก็ตสะสมบนลิงก์หรือเราเตอร์ และนั่นหมายความว่าจำเป็นต้องลดหน้าต่างความแออัดลง เพื่อป้องกันไม่ให้การรับส่งข้อมูลเพิ่มเติมเกิดการอุดตันเครือข่าย

เมื่อกรอบเวลาความแออัดลดลง จะมีการใช้อัลกอริธึมแยกต่างหากเพื่อกำหนดว่าควรเพิ่มหน้าต่างเพิ่มเติมอย่างไร ไม่ช้าก็เร็วการสูญเสียแพ็คเก็ตอื่นจะเกิดขึ้นและกระบวนการนี้จะทำซ้ำ หากคุณเคยเห็นกราฟฟันซี่ของการรับส่งข้อมูลที่ไหลผ่านการเชื่อมต่อ TCP นั่นเป็นเพราะอัลกอริธึมการควบคุมความแออัดและการหลีกเลี่ยงจะปรับหน้าต่างความแออัดตามการสูญเสียแพ็กเก็ตบนเครือข่าย

เป็นที่น่าสังเกตว่าการปรับปรุงอัลกอริธึมเหล่านี้เป็นพื้นที่สำคัญของทั้งการวิจัยทางวิทยาศาสตร์และการพัฒนาผลิตภัณฑ์เชิงพาณิชย์ มีตัวเลือกที่ทำงานได้ดีกว่าบนเครือข่าย บางประเภทหรือเพื่อถ่ายโอนไฟล์ประเภทเฉพาะเป็นต้น คุณใช้หนึ่งในหลายตัวเลือกขึ้นอยู่กับแพลตฟอร์มที่คุณใช้งาน: TCP Tahoe และ Reno (การใช้งานดั้งเดิม), TCP Vegas, TCP New Reno, TCP BIC, TCP CUBIC (ค่าเริ่มต้นบน Linux) หรือ TCP แบบผสม (โดยค่าเริ่มต้น) . ค่าเริ่มต้นบน Windows) และอื่นๆ อีกมากมาย ผลกระทบของอัลกอริธึมเหล่านี้ต่อประสิทธิภาพของเว็บแอปพลิเคชันนั้นคล้ายคลึงกันโดยไม่คำนึงถึงการใช้งานเฉพาะ

การลดความเร็วตามสัดส่วนสำหรับ TCP

คำนิยาม วิธีที่ดีที่สุดการกู้คืนหลังจากแพ็กเก็ตสูญหายไม่ใช่วิธีที่ดีที่สุด งานจิ๊บจ๊อย- หากคุณโต้ตอบ "รุนแรง" ต่อสิ่งนี้ การสูญเสียแพ็กเก็ตแบบสุ่มจะมีผลกระทบที่ไม่เหมาะสม ผลกระทบเชิงลบเกี่ยวกับความเร็วในการเชื่อมต่อ หากคุณไม่ตอบสนองเร็วเพียงพอ อาจทำให้แพ็กเก็ตสูญหายได้อีก

เริ่มแรก TCP ใช้อัลกอริธึมการลดหลายรายการและ เพิ่มขึ้นอย่างต่อเนื่อง(การลดลงและการบวกทวีคูณ - AIMD): เมื่อแพ็กเก็ตสูญหาย หน้าต่างความแออัดจะลดลงครึ่งหนึ่ง และค่อยๆ เพิ่มขึ้นตามจำนวนที่ระบุในแต่ละการเดินทางไปกลับของแพ็กเก็ต ในหลายกรณี AIMD ได้รับการพิสูจน์แล้วว่าเป็นอัลกอริธึมที่อนุรักษ์นิยมมากเกินไป ดังนั้นจึงมีการพัฒนาอัลกอริธึมใหม่

การลดอัตราตามสัดส่วน (PRR) – อัลกอริธึมใหม่ตามที่อธิบายไว้ใน RFC 6937 ซึ่งมีจุดมุ่งหมายเพื่อกู้คืนได้เร็วขึ้นจากการสูญเสียแพ็กเก็ต ตามการวัดจาก Google ซึ่งเป็นสถานที่พัฒนาอัลกอริทึม จะช่วยลดเวลาแฝงของเครือข่ายโดยเฉลี่ย 3-10% ในการเชื่อมต่อกับการสูญเสียแพ็กเก็ต PPR ถูกเปิดใช้งานตามค่าเริ่มต้นใน Linux 3.2 และสูงกว่า

ผลิตภัณฑ์แบนด์วิธล่าช้า (BDP)

กลไกการควบคุมความแออัดในตัวใน TCP มีผลกระทบที่สำคัญ: ค่าหน้าต่างที่เหมาะสมที่สุดสำหรับผู้รับและผู้ส่งจะต้องแตกต่างกันไปตามความล่าช้าในการเดินทางไปกลับและ ความเร็วเป้าหมายการถ่ายโอนข้อมูล โปรดจำไว้ว่าจำนวนสูงสุดของแพ็กเก็ตที่ไม่ได้รับการตอบรับ "ระหว่างทาง" ถูกกำหนดเป็น ค่าที่น้อยที่สุดจากหน้าต่างการรับและโหลดซ้ำ (rwnd และ cwnd) หากผู้ส่งมีแพ็กเก็ตที่ไม่ได้รับการตอบรับเกินจำนวนสูงสุด ผู้ส่งจะต้องหยุดการส่งและรอจนกว่าผู้รับจะรับทราบจำนวนแพ็กเก็ตที่กำหนดก่อนจึงจะสามารถเริ่มส่งได้อีกครั้ง เขาต้องรอนานแค่ไหน? สิ่งนี้ถูกกำหนดโดยการหน่วงเวลาแบบวงกลม

BDP กำหนดจำนวนข้อมูลสูงสุดที่สามารถ "อยู่ระหว่างทาง"

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


ข้าว. 5. ช่องว่างในการส่งข้อมูลเนื่องจากค่าหน้าต่างเล็ก

หน้าต่างต้อนรับและความแออัดควรมีขนาดใหญ่แค่ไหน? ลองดูตัวอย่าง: ให้ cwnd และ rwnd เท่ากับ 16 KB และความล่าช้าในการไปกลับเท่ากับ 100 ms แล้ว:

ปรากฎว่าไม่ว่าความกว้างของช่องสัญญาณระหว่างผู้ส่งและผู้รับจะเป็นอย่างไร การเชื่อมต่อดังกล่าวจะไม่มีทางให้ความเร็วมากกว่า 1.31 Mbit/s เพื่อให้ได้ความเร็วที่มากขึ้น คุณจะต้องเพิ่มค่าหน้าต่างหรือลดการหน่วงเวลาแบบวงกลม

ในทำนองเดียวกัน เราสามารถคำนวณค่าหน้าต่างที่เหมาะสมที่สุดโดยพิจารณาจากความล่าช้าของวงกลมและความกว้างของช่องสัญญาณที่ต้องการ สมมติว่าเวลายังคงเดิม (100 ms) และความกว้างของช่องสัญญาณของผู้ส่งคือ 10 Mbit/s และตัวรับสัญญาณอยู่ที่ ช่องความเร็วสูงที่ 100 Mbit/s สมมติว่าเครือข่ายระหว่างพวกเขาไม่มีปัญหาในส่วนตรงกลาง เราจะได้ผู้ส่ง:

ขนาดหน้าต่างต้องมีอย่างน้อย 122.1 KB เพื่อใช้ช่องสัญญาณ 10 Mbps อย่างเต็มที่ โปรดจำไว้ว่าขนาดหน้าต่างรับสูงสุดใน TCP คือ 64 KB เว้นแต่จะเปิดใช้งานการปรับขนาดหน้าต่าง (RFC 1323) อีกเหตุผลหนึ่งที่ต้องตรวจสอบการตั้งค่าของคุณอีกครั้ง!

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

BDP ในเครือข่ายท้องถิ่นความเร็วสูง

ความล่าช้าในการเดินทางไปกลับอาจเป็นปัญหาคอขวดในเครือข่ายท้องถิ่น เพื่อให้บรรลุ 1 Gbps โดยมีเวลาแฝงไปกลับ 1 ms คุณต้องมีกรอบเวลาความแออัดอย่างน้อย 122 KB การคำนวณคล้ายกับที่แสดงด้านบน

การบล็อกส่วนหัว (การบล็อก HOL)

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

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

การล็อกส่วนหัวของคิวทำให้แอปพลิเคชันไม่ต้องจัดการกับการเรียงลำดับแพ็กเก็ต ซึ่งทำให้โค้ดง่ายขึ้น แต่ในทางกลับกัน การมาถึงของแพ็กเก็ตเกิดความล่าช้าอย่างไม่อาจคาดเดาได้ ซึ่งส่งผลเสียต่อประสิทธิภาพของแอปพลิเคชัน


ข้าว. 6. การปิดกั้นจุดเริ่มต้นของคิว

แอปพลิเคชันบางรายการอาจไม่จำเป็นต้องมีการรับประกันหรือการจัดส่งตามลำดับ หากแต่ละแพ็คเก็ตมี แยกข้อความดังนั้นจึงไม่จำเป็นต้องจัดส่งคำสั่งซื้อ และหากแต่ละข้อความใหม่เขียนทับข้อความก่อนหน้า ก็ไม่จำเป็นต้องรับประกันการจัดส่งเช่นกัน แต่ TCP ไม่มีการกำหนดค่าสำหรับกรณีดังกล่าว พัสดุทั้งหมดจะถูกจัดส่งตามลำดับ และหากไม่ได้จัดส่งพัสดุก็จะถูกส่งอีกครั้ง แอปพลิเคชันที่เวลาแฝงมีความสำคัญสามารถใช้การขนส่งทางเลือก เช่น UDP

การสูญเสียแพ็คเก็ตเป็นเรื่องปกติ

การสูญเสียแพ็กเก็ตยังเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่า ประสิทธิภาพที่ดีขึ้น TCP. แพ็กเก็ตที่สูญหายทำหน้าที่เป็นกลไกตอบรับที่ช่วยให้ผู้รับและผู้ส่งเปลี่ยนอัตราการส่งเพื่อหลีกเลี่ยงความแออัดของเครือข่ายและลดเวลาแฝงให้เหลือน้อยที่สุด

แอปพลิเคชันบางตัวสามารถ "รับมือ" กับการสูญเสียแพ็กเก็ตได้: ตัวอย่างเช่น สำหรับการเล่นเสียง วิดีโอ หรือสถานะการถ่ายโอนในเกม ไม่จำเป็นต้องรับประกันการจัดส่งหรือการจัดส่งตามลำดับ ดังนั้น WebRTC จึงใช้ UDP เป็นการขนส่งหลัก

หากแพ็กเก็ตสูญหายขณะเล่นเสียง ตัวแปลงสัญญาณเสียงสามารถแทรกช่องว่างเล็กๆ ลงในการเล่นและประมวลผลแพ็กเก็ตขาเข้าต่อไปได้ หากช่องว่างมีขนาดเล็ก ผู้ใช้อาจไม่สังเกตเห็น แต่การรอแพ็กเก็ตที่สูญหายมาถึงอาจทำให้เกิดความล่าช้าในการเล่นอย่างเห็นได้ชัด ซึ่งจะแย่กว่ามากสำหรับผู้ใช้

ในทำนองเดียวกันหากเกมสื่อสารสถานะของตนก็ไม่มีประโยชน์ที่จะรอแพ็กเก็ตที่อธิบายสถานะ ณ เวลา T-1 หากเรามีข้อมูลเกี่ยวกับสถานะ ณ เวลา T แล้ว

การเพิ่มประสิทธิภาพสำหรับ TCP

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

ข้อกำหนดของแอปพลิเคชันและคุณสมบัติมากมายของอัลกอริธึม TCP ทำให้การเชื่อมต่อโครงข่ายและการเพิ่มประสิทธิภาพในพื้นที่นี้เป็นสาขาวิชาขนาดใหญ่สำหรับการศึกษา ในบทความนี้ เราได้กล่าวถึงปัจจัยบางประการที่ส่งผลต่อประสิทธิภาพของ TCP เท่านั้น กลไกเพิ่มเติม เช่น Selective Acknowledgement (SACKs) การตอบรับล่าช้า การส่งข้อมูลซ้ำอย่างรวดเร็ว และอื่นๆ อีกมากมายทำให้การทำความเข้าใจและเพิ่มประสิทธิภาพเซสชัน TCP มีความซับซ้อน

แม้ว่ารายละเอียดเฉพาะของแต่ละอัลกอริทึมและกลไกผลตอบรับจะยังคงเปลี่ยนแปลงต่อไป แต่หลักการสำคัญและความเกี่ยวข้องจะยังคงอยู่:

  • การจับมือกันสามครั้งของ TCP ทำให้เกิดเวลาแฝงที่สำคัญ
  • การเริ่มต้นช้าของ TCP ใช้กับการเชื่อมต่อใหม่แต่ละครั้ง
  • กลไกการควบคุมการไหลและความหนาแน่นของ TCP จะควบคุมปริมาณงานของการเชื่อมต่อทั้งหมด
  • ปริมาณงาน TCP ถูกควบคุมผ่านขนาดหน้าต่างความแออัด
เป็นผลให้ความเร็วที่การเชื่อมต่อ TCP สามารถถ่ายโอนข้อมูลบนเครือข่ายความเร็วสูงสมัยใหม่มักถูกจำกัดด้วยความล่าช้าในการเดินทางไปกลับ แม้ว่าความกว้างของลิงก์จะเพิ่มขึ้นอย่างต่อเนื่อง เวลาแฝงจะถูกจำกัดด้วยความเร็วแสง และในหลายกรณี เวลาแฝงคือปัญหาคอขวดของ TCP ไม่ใช่ความกว้างของลิงก์

การตั้งค่าการกำหนดค่าเซิร์ฟเวอร์

แทนที่จะต้องกังวลกับการตั้งค่าทุกๆอย่าง พารามิเตอร์ TCPควรเริ่มต้นด้วยการอัปเดตระบบปฏิบัติการเป็นเวอร์ชันล่าสุดจะดีกว่า แนวทางปฏิบัติที่ดีที่สุด TCP ยังคงพัฒนาอย่างต่อเนื่อง และการเปลี่ยนแปลงส่วนใหญ่เหล่านี้ก็มีอยู่แล้วใน เวอร์ชันล่าสุดระบบปฏิบัติการ

“อัปเดตระบบปฏิบัติการบนเซิร์ฟเวอร์” ดูเหมือนเป็นคำแนะนำเล็กน้อย แต่ในทางปฏิบัติแล้ว มีเซิร์ฟเวอร์จำนวนมากที่ได้รับการกำหนดค่าไว้ บางรุ่นเคอร์เนลและผู้ดูแลระบบอาจต่อต้านการอัปเดต ใช่ การอัพเกรดมีความเสี่ยงในตัวมันเอง แต่ในแง่ของประสิทธิภาพของ TCP การอัพเกรดนั้นมีแนวโน้มมากที่สุด การกระทำที่มีประสิทธิภาพ.

หลังจากอัปเดตระบบปฏิบัติการแล้ว คุณต้องกำหนดค่าเซิร์ฟเวอร์ตามแนวทางปฏิบัติที่ดีที่สุด:

  • เพิ่มค่าเริ่มต้นของหน้าต่างความแออัด:ซึ่งจะช่วยให้สามารถถ่ายโอนข้อมูลได้มากขึ้นในการแลกเปลี่ยนครั้งแรก และช่วยเร่งการเติบโตของหน้าต่างความแออัดได้อย่างมาก
  • ปิดการใช้งานการเริ่มต้นช้า:การปิดใช้งานการเริ่มต้นช้าหลังจากไม่มีการใช้งานการเชื่อมต่อเป็นระยะเวลาหนึ่งจะช่วยปรับปรุงประสิทธิภาพของการเชื่อมต่อ TCP ที่มีอายุการใช้งานยาวนาน
  • เปิดใช้งานการปรับขนาดหน้าต่าง:มันจะเพิ่มขึ้น ค่าสูงสุดหน้าต่างรับสัญญาณและจะเร่งความเร็วการเชื่อมต่อเมื่อมีความล่าช้าสูง
  • เปิดใช้งาน TCP Fast Open:ซึ่งจะทำให้สามารถส่งข้อมูลในแพ็กเก็ต SYN เริ่มต้นได้ นี่เป็นอัลกอริธึมใหม่ ทั้งไคลเอนต์และเซิร์ฟเวอร์ต้องรองรับ สำรวจว่าใบสมัครของคุณจะได้รับประโยชน์จากสิ่งนี้หรือไม่
คุณอาจต้องกำหนดค่าพารามิเตอร์ TCP อื่นๆ ด้วย อ้างอิงถึงวัสดุ

การปรับการตั้งค่า TCP/IP ให้เหมาะสมนั้นจำเป็นเพื่อปรับปรุงปริมาณงานของเครือข่าย วิธีการทำเช่นนี้? ลองคิดดูสิ

заг��зка...

ระบบปฏิบัติการเช่น วินโดวส์วิสต้าและ Windows 7 ช่วยให้คุณสามารถเปลี่ยนการตั้งค่าต่างๆ เพื่อกำหนดค่าโปรโตคอลเครือข่าย TCP/IP และปรับปรุงปริมาณงานได้

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

เอาล่ะ เรามาฝึกซ้อมกันต่อ มีโปรแกรมฟรีหลายโปรแกรมที่มีหน้าที่หลักคือ การเพิ่มประสิทธิภาพการตั้งค่า TCP/IP- หนึ่งในนั้นคือ ฌ− SG TCP Optimizer: มันตั้งค่าพารามิเตอร์ TCP/IP ที่แนะนำตามประสบการณ์ของผู้เชี่ยวชาญในสาขานี้ ผู้ใช้หลายคนเชื่อว่า แอปพลิเคชันนี้เป็นโปรแกรมที่ดีที่สุดในบรรดาโปรแกรมเพิ่มประสิทธิภาพ TCP/IP ดั้งเดิม แต่ผู้ใช้ขั้นสูงยังไม่พร้อมที่จะยอมรับสิ่งนี้ ผลิตภัณฑ์ซอฟต์แวร์สำหรับโซลูชั่นคุณภาพสูงสำหรับปัญหาเครือข่าย

ดังนั้น:สิ่งแรกที่คุณต้องทำคือดาวน์โหลดและติดตั้งโปรแกรม SG TCP Optimizer จากนั้นเรียกใช้ "ในฐานะผู้ดูแลระบบ"


จากนั้นในหน้าต่างโปรแกรมให้เลือกแบนด์วิดท์ของการ์ดเครือข่ายของคุณ (ที่ด้านบน) จากนั้นตั้งค่าโหมดการทำงานเป็น "ดีที่สุด" ที่ด้านล่างของหน้าต่างแล้วใช้การเปลี่ยนแปลง รีสตาร์ทคอมพิวเตอร์ของคุณ การเพิ่มประสิทธิภาพการตั้งค่า TCP/IP เสร็จสมบูรณ์ ตอนนี้ความเร็วในการถ่ายโอนข้อมูลจะเพิ่มขึ้นสูงสุด 30% การทดสอบสั้นๆ บน Windows Vista แสดงให้เห็นว่าความเร็วในการถ่ายโอนไฟล์ขนาดใหญ่เพิ่มขึ้นจาก 30 MB/s เป็น 50 MB/s

มีปัญหาในการลงทะเบียนบนเว็บไซต์?คลิกที่นี่! อย่าผ่านส่วนที่น่าสนใจในเว็บไซต์ของเรา - โครงการผู้เยี่ยมชม คุณจะพบข่าวสารล่าสุด เรื่องตลก พยากรณ์อากาศ (ในหนังสือพิมพ์ ADSL) รายการทีวีภาคพื้นดินและช่อง ADSL-TV ข่าวล่าสุดและน่าสนใจที่สุดจากโลกแห่งเทคโนโลยีชั้นสูง รูปภาพต้นฉบับและน่าทึ่งที่สุดจาก อินเทอร์เน็ตคลังนิตยสารขนาดใหญ่ ปีที่ผ่านมา,สูตรอาหารแสนอร่อยในภาพ,ข้อมูล. ส่วนนี้มีการปรับปรุงทุกวัน เสมอ เวอร์ชันล่าสุดโปรแกรมฟรีที่ดีที่สุดสำหรับ ใช้ทุกวันในส่วนโปรแกรมที่จำเป็น มีเกือบทุกอย่างที่คุณต้องการสำหรับงานประจำวัน เริ่มละทิ้งเวอร์ชันละเมิดลิขสิทธิ์ทีละน้อยเพื่อหันไปใช้อะนาล็อกฟรีที่สะดวกและใช้งานได้ดีกว่า หากคุณยังคงไม่ได้ใช้การแชทของเรา เราขอแนะนำให้คุณทำความคุ้นเคยกับมัน คุณจะพบเพื่อนใหม่มากมายที่นั่น นอกจากนี้ยังรวดเร็วและ วิธีที่มีประสิทธิภาพติดต่อผู้บริหารโครงการ ส่วนการอัปเดตแอนติไวรัสยังคงทำงานต่อไป - อัปเดตอยู่เสมอ อัปเดตฟรีสำหรับ Dr Web และ NOD ไม่มีเวลาอ่านอะไรบางอย่าง? เนื้อหาทั้งหมดของทิกเกอร์สามารถดูได้ที่ลิงก์นี้

การปรับจูนแบบละเอียดพารามิเตอร์ TCP/IP สำหรับช่องสัญญาณแบบหนา

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

การแนะนำ

มีความคิดเห็นที่ขัดแย้งกันสองประการเกี่ยวกับการบิดเบือนการตั้งค่า TCP/IP: ผู้ดูแลระบบหลายคน (และผู้เขียนหนังสือยอดนิยม!) เชื่อว่านักพัฒนาได้ทำทุกอย่างที่จำเป็นแล้ว และการแทรกแซงใด ๆ ในกลไกการทำงานที่ดีนี้สามารถทำได้เพียง ทำอันตราย ในเวลาเดียวกันมีคำแนะนำมากมายบนอินเทอร์เน็ตที่สัญญาว่าหากไม่ใช่ตั๋วไปสวรรค์ก็จะเพิ่มผลผลิตอย่างมากโดยเสียค่าใช้จ่ายในการเปลี่ยนคีย์สองสามตัวในรีจิสทรีของระบบ

ความจริงตามปกติคืออยู่ตรงกลาง ระบบปฏิบัติการได้เรียนรู้มานานแล้วในการจดจำประเภทการเชื่อมต่อโดยอัตโนมัติ โดยเลือกชุดการตั้งค่าเริ่มต้นที่เหมาะสม อัลกอริธึมแบบปรับเปลี่ยนได้จะปรับแบบไดนามิกให้เข้ากับลักษณะของช่องสัญญาณ และ "คำสั่ง" ที่ไม่มีทักษะจากผู้ใช้จะเข้ามาขัดขวางจริงๆ อย่างไรก็ตาม อัลกอริธึมแบบปรับตัวมีแนวโน้มที่จะทำผิดพลาด และการตั้งค่าเริ่มต้นไม่สอดคล้องกับลักษณะของช่องทางการสื่อสารเฉพาะเสมอไป ซึ่งการแพร่กระจายนั้นมีขนาดใหญ่มาก

ประสิทธิภาพที่เพิ่มขึ้นใดบ้างที่สามารถปรับการตั้งค่า TCP/IP ให้เหมาะสมได้หากทำอย่างถูกต้อง ขึ้นอยู่กับว่าการตั้งค่าเริ่มต้นนั้นใกล้เคียงกับคุณสมบัติของช่องสัญญาณที่ใช้งานมากน้อยเพียงใด โดยเฉลี่ยแล้ว คุณควรคาดหวังว่าจะเพิ่มขึ้น 20%...30% แต่ในกรณี "ทางคลินิก" ความเร็วจะเพิ่มขึ้นหลายเท่า!

ก่อนที่คุณจะเริ่มเพิ่มประสิทธิภาพ

แทนที่จะพับแขนเสื้อและรีบเข้าสู่การต่อสู้ตั้งแต่แนวแรก เป็นการดีกว่าที่จะสูบบุหรี่และคิดก่อน สมมติว่าเรามีช่องสัญญาณ 10 เมกะบิตและดาวน์โหลด/แจกจ่ายไฟล์ด้วยความเร็วประมาณหนึ่งเมกะไบต์ต่อวินาที เป็นที่ชัดเจนว่าไม่มีกลอุบายจำนวนใดที่จะช่วยให้เราเพิ่มผลผลิตได้ในจำนวนที่เห็นได้ชัดเจน แล้วมันคุ้มมั้ยที่ลำบาก! นอกจากนี้ ผู้ดูแลระบบจำนวนมากจงใจจำกัดเอาต์พุตในพื้นที่ 50-100 KB/s เพื่อป้องกันไม่ให้เครือข่ายโอเวอร์โหลด มีการเพิ่มประสิทธิภาพแบบไหน...

เป็นอีกเรื่องหนึ่งหากปริมาณงานที่สังเกตได้น้อยกว่า 2/3 ของปริมาณที่ประกาศโดยอัปลิงก์ คุณไม่สามารถทำได้หากไม่มีการเพิ่มประสิทธิภาพที่นี่! อย่างไรก็ตาม นอกเหนือจากสแต็ก TCP/IP แล้ว สแต็กอื่นๆ ยังต้องรับผิดชอบต่อประสิทธิภาพอีกด้วย ส่วนประกอบของระบบ- ตัวอย่างเช่น โปรเซสเซอร์ ด้วยจำนวนมากในเวลาเดียวกัน การเชื่อมต่อที่จัดตั้งขึ้นการใช้งาน CPU สามารถเข้าถึงได้ 100% โดยเฉพาะเมื่อพิจารณาในราคาถูก อุปกรณ์เครือข่ายการคำนวณเช็คซัมแพ็กเก็ตจะดำเนินการที่ระดับซอฟต์แวร์ ไม่ใช่ระดับฮาร์ดแวร์ (เช่น โมเดลราคาแพง)

ผู้ร้ายอีกประการหนึ่งคือการ์ดแสดงผลซึ่งครองรถบัสเป็นเวลานานโดยไม่มีเลย เหตุผลที่มองเห็นได้ส่งผลให้อุปกรณ์ต่อพ่วงอื่นๆ ทั้งหมดหยุดทำงานและความเร็ว I/O (รวมถึงเครือข่าย) ลดลงหลายครั้ง การอัปเดตไดรเวอร์หรือปิดใช้งานการตั้งค่าการ์ดแสดงผล "เชิงรุก" ทั้งหมดมักจะแก้ปัญหาได้แม้ว่าจะไม่ได้เข้าถึงสแต็ก TCP/IP ก็ตาม

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

โดยทั่วไป ก่อนที่จะเข้าสู่สแต็ก TCP/IP คุณควรตรวจสอบให้แน่ใจว่าสาเหตุที่เป็นไปได้อื่นๆ ทั้งหมดได้ถูกกำจัดออกไปแล้ว และปัญหาคอขวดนั้นเกิดจากการตั้งค่าโปรโตคอลเครือข่ายอย่างแม่นยำ ไม่ใช่อย่างอื่น ( ความสนใจ : “การโน้มน้าวใจ” ไม่เหมือนกับการ “โน้มน้าวใจตัวเอง” เลย).

มธ. + มส. = ???

มธ ( สูงสุด ปล่อยคุณ จู้จี้จุกจิก- [ขนาด] สูงสุดของแพ็กเก็ตที่ส่ง) น่าจะเป็นพารามิเตอร์ TCP/IP ที่เป็นที่รู้จักมากที่สุด คำแนะนำสำหรับการตั้งค่าซึ่งสามารถพบได้ในบทความเกือบทุกบทความเกี่ยวกับการเพิ่มประสิทธิภาพ TCP/IP สาธารณูปโภคหลายร้อยรายการให้บริการตามคำจำกัดความอย่างมาก ค่าที่แน่นอนแต่อนิจจาการเพิ่มผลผลิตตามสัญญานั้นไม่บรรลุผลสำเร็จ

MTU ส่งผลกระทบต่อขนาดแพ็คเก็ต IP ที่ใหญ่ที่สุดที่เป็นไปได้ (รวมถึงส่วนหัว) โดยตัดข้อมูลที่ส่งออกเป็นชิ้น ๆ ขนาดคงที่- ยิ่ง MTU มีขนาดใหญ่ ต้นทุนโสหุ้ยในการส่งข้อมูลบริการก็จะยิ่งต่ำลง ดังนั้น "ประสิทธิภาพ" ของช่องสัญญาณก็จะยิ่งสูงขึ้นเท่านั้น ในทางกลับกัน เราเตอร์จะดัมพ์แพ็กเก็ตที่มาจากโหนดที่แตกต่างกันไปยังคิวทั่วไป ดังนั้นการส่งแพ็กเก็ตขนาดใหญ่หนึ่งแพ็กเก็ตหนึ่งแพ็กเก็ตขนาดเล็กสองอันจะทำกำไรได้มากกว่ามาก และยิ่งเราเตอร์โหลดมากเท่าไร เราก็จะได้รับกำไรมากขึ้นเท่านั้น


รูปที่ 1.

แล้วมันเรื่องอะไรล่ะ! เราเพิ่ม MTU ให้ถึงขีดจำกัด และ... ความเร็วจะลดลงเหลือศูนย์ ทำไม เหตุผลก็คือเมื่อขนาดของแพ็กเก็ตเพิ่มขึ้น เวลาที่ใช้สำหรับแพ็กเก็ตก็จะเพิ่มขึ้นเช่นกัน การส่งสัญญาณซ้ำในกรณีที่แพ็กเก็ตสูญหายหรือเสียหาย นอกจากนี้โหนดระดับกลางยังมีโหนดของตัวเองอีกด้วย การตั้งค่าของตัวเองและหากขนาดของแพ็กเก็ตที่ส่งเกิน MTU ปัจจุบัน แพ็กเก็ตจะถูกตัดออกเป็นสองแพ็กเก็ตขึ้นไป (เช่น แยกส่วน) และแฟรกเมนต์เหล่านี้จะถูกรวมเข้าด้วยกันที่โหนดรับเท่านั้น ส่งผลให้ปริมาณงานลดลง ยิ่งกว่านั้นหาก MTU ของโหนดการส่งนั้นสูงกว่า MTU ของโหนดกลางเพียงเล็กน้อยเท่านั้นแพ็คเก็ตที่สองจะประกอบด้วยเกือบหนึ่งส่วนหัวซึ่งเป็นผลมาจากการที่การพึ่งพาความเร็วในการส่งข้อมูลกับขนาดกลายเป็นฟันเลื่อยที่มีลักษณะเฉพาะ เส้นโค้ง (ดูรูปที่ 2)

ค่า MTU เริ่มต้นที่ใช้โดย Windows Server 2003 จะแสดงในตารางที่ 1 แต่คุณสามารถเปลี่ยนได้หากต้องการ



รูปที่ 2.ขึ้นอยู่กับอัตราการถ่ายโอนข้อมูล ขนาดเอ็มทียู(ตาม http://member.nifty.ne.jp/oso/faq.mtu-faq.html).

เปิดยูทิลิตี้ Registry Editor และเปิดส่วนต่อไปนี้ในนั้น: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interfaceGUID- เราเห็นพารามิเตอร์ตรงนั้น มธพิมพ์ DWORD (และถ้าเราไม่เห็นเราจะสร้างมันขึ้นมา) และป้อนขนาดเป็นไบต์ (0xFFFFFFFF แปลว่า "ใช้ ค่าเอ็มทียูค่าเริ่มต้น). อินเทอร์เฟซถูกกำหนดโดย GUID และโดยปกติจะมีมากกว่าหนึ่งรายการ ฉันจะค้นหาอินเทอร์เฟซของเคเบิลโมเด็มหรือการ์ดเครือข่ายเฉพาะได้อย่างไร ใช่ มันง่ายมาก - ตามที่อยู่ IP!



รูปที่ 3.การปรับแต่งพารามิเตอร์ TCP/IP อย่างละเอียดผ่าน "ตัวแก้ไขรีจิสทรี"

มีความเป็นไปได้ การตรวจจับอัตโนมัติกำหนดเส้นทางตามแพ็กเก็ตใดที่มีการส่งผ่าน MTU ที่กำหนดโดยไม่มีการกระจายตัว (parameter เปิดใช้งานPMTUDiscoveryประเภท DWORD ที่อยู่ในสาขารีจิสทรีเดียวกันกับ MTU (ค่า "1" รวมอยู่ด้วย ฟังก์ชั่นนี้, "0" - ปิด) อย่างไรก็ตามผู้บริหารจำนวนมาก โหนดระดับกลางด้วยเหตุผลด้านความปลอดภัย การส่งข้อความ ICMP จะถูกบล็อก และโหนดการส่งยังคงไม่ทราบถึงข้อเท็จจริงของการกระจายตัวโดยสิ้นเชิง โดยเฉพาะอย่างยิ่งสำหรับการตรวจจับเราเตอร์ที่ "ผิด" (ชื่อเล่นว่า "หลุมดำ" หรือในภาษาอังกฤษคือหลุมดำ) Windows รองรับอัลกอริธึมพิเศษที่ควบคุมโดยพารามิเตอร์ เปิดใช้งานPMTUDiscovery(คล้ายกับ EnablePMTUDiscovery ทุกประการ)



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

ในกรณีส่วนใหญ่ การใช้ตัวเลือก EnablePMTUDiscovery และ EnablePMTUDiscovery ส่งผลให้ประสิทธิภาพและความคุ้มค่าลดลง มธ.ดีกว่าเลือกตามตารางที่ 2 หรือกระทำการโดยใช้กำลังดุร้าย

พารามิเตอร์อื่น - วิทยาศาสตรมหาบัณฑิต ( สูงสุด ส่วน ขนาด- ขนาดเซกเมนต์สูงสุด) รับผิดชอบขนาดสูงสุดของข้อมูลที่ส่งลบด้วยความยาวของส่วนหัวของแพ็กเก็ต IP (ดูรูปที่ 1) คุณไม่ควรแตะต้องมัน และ Windows ก็ไม่อนุญาตอยู่ดี โดยทั่วไป MSS = MTU - 40 ไบต์

ตารางที่ 1.ค่า MTU และ MSS เริ่มต้นใน Microsoft Windows Server 2003

ตารางที่ 2.ค่า MTU ที่ Microsoft Windows Server 2003 เลือกโดยอัตโนมัติตามประเภทการเชื่อมต่อ

หน้าต่างรับ TCP

ขนาดหน้าต่าง TCP เป็นพารามิเตอร์ที่ไม่ค่อยมีใครรู้จัก แต่มีความสำคัญอย่างยิ่ง (ในแง่ของประสิทธิภาพ) ที่สามารถเพิ่มปริมาณงานได้หลายครั้ง ลองพิจารณาสองโหนด - "A" และ "B" และบังคับให้โหนด "A" ส่งข้อมูลไปยังโหนด "B" ซึ่งแบ่งออกเป็นส่วน ๆ ขนาดที่ (ดังที่กล่าวไปแล้ว) ถูกกำหนดโดยพารามิเตอร์ MSS โปรโตคอล TCP เป็นแบบเชิงการเชื่อมต่อ ซึ่งจำเป็นต้องส่งการแจ้งเตือนเกี่ยวกับเซ็กเมนต์ที่ได้รับสำเร็จ ส่วนที่ไม่ได้รับการตอบรับจะถูกส่งอีกครั้งโดยโหนด "A" หลังจากผ่านไประยะหนึ่ง

ช่วงเวลาระหว่างการส่งแพ็กเก็ตและรับเรียกว่าเวลาแฝง และเวลาแฝงนี้ ขึ้นอยู่กับประเภทและโหลดของเครือข่าย จะแตกต่างกันไปตั้งแต่ 20 ms (หรือน้อยกว่า) ถึง 100 ms (หรือมากกว่า) มันง่ายที่จะคำนวณว่าหากแต่ละเซ็กเมนต์ได้รับการยืนยัน แม้ในเครือข่ายที่มีความหน่วงต่ำ ความเร็วในการส่งข้อมูลจริงจะช้ากว่าอย่างเห็นได้ชัด ความเป็นไปได้ที่แท้จริงและจะเท่ากับ MTU / (2 * เวลาแฝง) ซึ่งมีขีดจำกัดที่ 6 เมกะบิต/วินาที โดยไม่ขึ้นกับปริมาณงาน ฝันร้าย! แล้วจะอยู่ยังไงล่ะ!

นั่นเป็นสาเหตุที่ผู้สร้าง TCP/IP อนุญาตให้โฮสต์ "A" ส่งมากกว่าหนึ่งเซ็กเมนต์โดยไม่ต้องรอการตอบรับ ปริมาณสูงสุดส่วนที่สามารถส่งก่อนที่การตอบรับจะมาถึงและเรียกว่าขนาดหน้าต่าง TCP (กระบวนการส่งจะแสดงให้เห็นอย่างดีในภาพเคลื่อนไหว gif"e: http://cable-dsl.home.att.net/rwinanim.htm- เหตุใดการตั้งค่านี้จึงสำคัญมากสำหรับการบรรลุประสิทธิภาพที่ดีที่สุด

สมมติว่าเรามีช่องสัญญาณ 10 เมกะบิตและส่ง 7 ส่วน แต่ละส่วนละ 1460 ไบต์ ใช้เวลา 8 มิลลิวินาทีกับสิ่งนี้ หากเวลาแฝงคือ 100 ms ดังนั้น... 100 ms + 92 ms = 192 ms เช่นเดียวกับคนโง่ เรารอมากถึง 192 มิลลิวินาทีสำหรับการตอบรับ และโหนด A ใช้เวลา 96% ของเวลาว่าง โดยใช้แบนด์วิดท์ของช่องสัญญาณเพียง 4% นี้เป็นของหลักสูตร กรณีที่รุนแรงแต่ก็ยังไม่ไกลจากความจริงเท่าที่คิด

ในระหว่างกระบวนการสร้างการเชื่อมต่อ โหนด "A" เชิญโหนด "B" เพื่อตั้งค่าขนาดหน้าต่างเป็น 16 KB (ค่าเริ่มต้นที่ระบุในพารามิเตอร์ TcpWindowSize.tcpรีจิสตรีซึ่งสามารถเปลี่ยนแปลงได้หากต้องการ) ขนาดหน้าต่างจะถูกปัดเศษให้เป็นจำนวนเต็มที่ใกล้ที่สุดเสมอ (ดูพารามิเตอร์ MSS)

หากขนาดหน้าต่างเกิน 64 KB ระบบจะเปิดใช้งานอัลกอริธึมการปรับขนาดอัตโนมัติ ซึ่งจะใช้งานได้เฉพาะในกรณีที่โหนด B รองรับกลไกนี้ด้วย ดังนั้นจึงควรตั้งค่าขนาดหน้าต่าง TCP ด้วยตนเองโดยใช้ตารางที่ 3 เป็นแนวทาง ( อย่างไรก็ตาม โปรดจำไว้ว่า หน้าต่างที่มีขนาดใหญ่เกินไปจะอุดตันช่องสัญญาณด้วยแพ็กเก็ต ทำให้เกิดความแออัดของเครือข่ายที่ขัดขวางไม่ให้ส่งต่อการแจ้งเตือน ส่งผลให้ประสิทธิภาพการทำงานไม่ดี)

ขนาดหน้าต่าง TCP ขั้นต่ำที่ต้องการ
ความเร็วช่องเป็น (กิโลบิต/วินาที)
500 1000 1500 2000 2500
เวลาแฝงของช่องสัญญาณ (มิลลิวินาที) 50 2ก 5ก 7ก 10ก 12K
100 5ก 10ก 15ก 20ก 24K
150 7ก 15ก 22K 29ก 37ก
200 10ก 20ก 29ก 39ก 49K
250 12K 24K 37ก 49K 61ก
ค่าเริ่มต้นของ Windows 9x/NT 8ก
ค่าเริ่มต้นของ Windows Me/2000/XP Server 2003 ความเร็วช่อง
< 1 Мегабит/сек 100 เมกะบิต/วินาที > 100 เมกะบิต/วินาที
8 กิโลไบต์ 17 กิโลไบต์ 64 กิโลไบต์
ค่าที่แนะนำ 32-63K

หนึ่งเดียวเพื่อทุกคน - ทั้งหมดเพื่อหนึ่งเดียว!

หากลูกค้า เครือข่ายท้องถิ่นทำงานผ่าน Proxy server แล้วจึงจะบรรลุผล ประสิทธิภาพสูงสุดก็เพียงพอแล้วที่จะเปลี่ยนขนาดหน้าต่าง TCP บนเซิร์ฟเวอร์โดยตรง

เมื่อทำงานผ่าน NAT คุณจะต้องกำหนดค่าหน้าต่าง TCP บนเวิร์กสเตชันแต่ละเครื่องที่เชื่อมต่อกับเครือข่ายท้องถิ่น

เริ่มต้นช้าและการยืนยันแบบเลือก

เพื่อป้องกันความแออัดของเครือข่ายที่เรียกว่า " เริ่มต้นช้า" ("เริ่มต้นช้า") อธิบายโดยละเอียดใน RFC 1122 และ RFC 2581

เมื่อสร้างการเชื่อมต่อ TCP/IP ใหม่ ระบบจะตั้งค่าขนาดหน้าต่างเป็นหนึ่งส่วน หลังจากได้รับการยืนยัน ขนาดหน้าต่างจะเพิ่มเป็นสองเท่าและจะดำเนินต่อไปจนกว่าจะถึงขนาดสูงสุดที่เป็นไปได้

การเติบโตแบบทวีคูณของความกว้างของหน้าต่าง “กิน” เวลาน้อยมากในการถ่ายโอนไฟล์ขนาดใหญ่ แต่เมื่อสร้างการเชื่อมต่อ TCP/IP จำนวนมาก (โดยทั่วไป เช่น ของเบราว์เซอร์) แลกเปลี่ยนข้อมูลชิ้นเล็ก ๆ (ตัวอย่างคลาสสิกซึ่งเป็นเว็บ เซิร์ฟเวอร์) การเริ่มต้นช้าจะลดประสิทธิภาพของแชนเนลกว้างลงอย่างเห็นได้ชัด นอกจากนี้ แม้จะมีการโอเวอร์โหลดเครือข่ายในระยะสั้น ระบบจะรีเซ็ตขนาดหน้าต่างเป็นขนาดเดียว ซึ่งเป็นผลมาจากกราฟความเร็วในการอัพโหลดไฟล์จากที่ราบบริภาษ กลายเป็นภูมิประเทศที่เป็นเนิน (ดูรูปที่ 5)



รูปที่ 5."การเริ่มต้นช้า" และผลที่ตามมา (CW - ขนาดหน้าต่างในส่วน)

นอกจากนี้ ระบบยังรองรับพารามิเตอร์พิเศษ Slow Start Threshold Size ซึ่งโดยค่าเริ่มต้นจะเท่ากับ 65636 แต่หลังจากทราบสถานการณ์ “ความแออัดของเครือข่าย” จะใช้ค่า W/2 และต่อมาเป็นขีดจำกัดบนของการเติบโตแบบเอ็กซ์โพเนนเชียล ของพารามิเตอร์ CW ​​ซึ่งทำให้ประสิทธิภาพลดลงอย่างมาก (ดูรูปที่ 6)



รูปที่ 6.ลดขนาดหน้าต่าง TCP เมื่อตรวจพบความแออัดของเครือข่าย

ปิดการใช้งาน "เริ่มต้นช้า" โดยตรงด้วยมาตรฐาน ใช้วินโดวส์(โดยไม่ต้องใช้เคอร์เนลแพตช์) เป็นไปไม่ได้ แต่ถ้าคุณใช้อัลกอริธึม SACK (Selective Acknowledgement หนึ่งในส่วนขยายโปรโตคอล TCP ที่อธิบายไว้ใน RFC 2018) “การเริ่มต้นช้า” จะถูกปิดใช้งานด้วยตัวเอง กลายเป็นโบราณวัตถุที่ไร้ประโยชน์

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

หากต้องการเปิดใช้งานอัลกอริทึม SACK เพียงตั้งค่าพารามิเตอร์รีจิสทรี กระสอบเป็น "1" (ค่าเริ่มต้นสำหรับ W2K และ XP)

เวลากำลังทำงานต่อต้านเรา

ทุกอย่างชัดเจนด้วยส่วนที่ได้รับการยืนยัน หากได้รับการยืนยัน ก็จะถือว่าส่งมอบเซ็กเมนต์ได้สำเร็จ คำถามทั้งหมดคือต้องรอการยืนยันนี้นานเท่าใด และจะเริ่มส่งใหม่อีกครั้งเมื่อใด

ตามค่าเริ่มต้น Windows Server 2003 รอสามวินาที (คุณสามารถเปลี่ยนค่านี้ได้โดยแก้ไขไฟล์ TcpInitialRTT) หลังจากนั้นจะส่งแพ็กเก็ตที่ยังไม่ยืนยันอีกครั้ง และช่วงเวลารอจะเพิ่มขึ้นตามอัลกอริทึม SRTT (Smoothed Round Trip Time) จำนวนการส่งสัญญาณซ้ำสูงสุดจะถูกจัดเก็บไว้ในพารามิเตอร์ TcpMaxDataRetransmissions(ค่าเริ่มต้นคือห้า) เมื่อถึงจุดสิ้นสุดการเชื่อมต่อ

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

ข้อเสียเปรียบหลักของตัวจับเวลาแบบคงที่คือไม่สามารถตอบสนองต่อการเปลี่ยนแปลงในระยะสั้นในลักษณะของช่องทางการสื่อสารได้ เวลารอการยืนยันที่ระบบเลือกนั้นสั้นหรือยาว ประสิทธิภาพการทำงานลดลง ผู้ใช้เร่งรีบ และปริมาณงาน “ลอย” ภายในขีดจำกัดที่กว้างมาก ซึ่งล้าหลังอย่างเห็นได้ชัดจากสิ่งที่คาดหวัง

การตอบรับล่าช้าเป็นอีกส่วนขยายหนึ่งของโปรโตคอล TCP/IP ที่อธิบายไว้ใน RFC 1122 และใช้งานครั้งแรกใน W2K (และใน NT 4.0 SP4 ด้วย) แทนที่จะตอบรับทุกเซ็กเมนต์ที่ได้รับ ตอนนี้โหนด "B" จะส่งการตอบรับเฉพาะเมื่ออยู่ภายในระยะเวลาที่กำหนด (เก็บไว้ในพารามิเตอร์ TcpDelAckTicksและค่าเริ่มต้นคือ 200 ms) ไม่ได้รับเซ็กเมนต์จากโหนด "A" กล่าวอีกนัยหนึ่ง หากเซ็กเมนต์อยู่ในวงกบที่เป็นมิตรและทุกอย่างทำงานได้ดี การยืนยันจะไม่ถูกส่งจนกว่า "ความแออัด" จะเกิดขึ้นในเครือข่าย หลังจากรอสักครู่ โหนด “B” จะส่งการยืนยันเซ็กเมนต์ที่ได้รับทั้งหมด ทำให้โหนด “A” มีโอกาสระบุได้อย่างอิสระว่าเซ็กเมนต์ใดหายไประหว่างทาง และส่งอีกครั้งโดยมีค่าใช้จ่ายน้อยที่สุด

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

ค่าของพารามิเตอร์นี้สามารถเปลี่ยนแปลงได้ในช่วงตั้งแต่ 0 ถึง 6 ซึ่งแสดงเป็นสิบวินาทีเช่น ค่าหนึ่งสอดคล้องกับ 100 ms และศูนย์ถูกตีความว่าเป็นการห้ามใช้การตอบรับล่าช้า

เมื่อใช้หน้าต่าง TCP ขนาดใหญ่ ขอแนะนำให้ใช้อัลกอริธึมการประทับเวลา (TCP-Timestamps) ที่อธิบายไว้ใน RFC 1323 ซึ่งจะปรับค่าตัวจับเวลาการส่งสัญญาณซ้ำโดยอัตโนมัติแม้เมื่อเผชิญกับลักษณะช่องทางการสื่อสารที่เปลี่ยนแปลงอย่างรวดเร็ว สิ่งนี้สามารถทำได้โดยพารามิเตอร์ Tcp1323Opts ซึ่งเมื่อตั้งค่าเป็น 3 จะอนุญาตให้ใช้ส่วนขยาย RFC 1323 ทั้งหมดได้

บทสรุป

บทความนี้กล่าวถึงตัวเลือกโปรโตคอล TCP/IP บางตัวเท่านั้นที่มีความรับผิดชอบต่อประสิทธิภาพการทำงานมากที่สุด แต่นอกจากพวกเขาแล้วยังมีอย่างอื่นอีกสำหรับคำอธิบายที่เราแนะนำผู้อ่านไปยังลิงก์ด้านล่าง

ลิงค์ที่มีประโยชน์

การเพิ่มประสิทธิภาพการทำงานของโปรโตคอล TCP ในเครือข่ายแบบกระจาย:
http://www.gurnov.ru/kms_catalog+stat+cat_id-4+page-1+nums-14.html

การเปิดใช้งานการถ่ายโอนข้อมูลประสิทธิภาพสูง:
http://www.psc.edu/networking/projects/tcptune/

คำแนะนำทีละขั้นตอนสำหรับการปรับ TCP บน Windows:
http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html

คู่มือการปรับแต่ง IP Stack ของ UNIX:
http://www.cymru.com/Documents/ip-stack-tuning.html

คู่มือการปรับแต่งเคเบิลโมเด็ม/DSL ของ Navas:
http://cable-dsl.home.att.net

รายละเอียดการใช้งาน TCP/IP ของ Microsoft Windows 2000:
http://www.microsoft.com/technet/network/deploy/depovg/tcpip2k.mspx

พารามิเตอร์การกำหนดค่า TCP/IP และ NBT สำหรับ Windows 2000 หรือสำหรับ Windows NT:
http://support.microsoft.com/kb/120642/

การเปลี่ยนแปลงอัลกอริธึมการตรวจจับหลุมดำ PMTU สำหรับ Windows:
http://support.microsoft.com/kb/136970/

ขนาด MTU เริ่มต้นสำหรับโทโพโลยีเครือข่ายที่แตกต่างกัน:
http://support.microsoft.com/kb/140375/

ข้อมูลอ้างอิงการแก้ไขปัญหาการเรียกผ่านสายโทรศัพท์และเครือข่ายในบ้าน:
http://www.internetweekly.org/llarrow/mtumss.html