ในบทความนี้เราจะแสดงวิธีจำกัดอัตราการถ่ายโอนข้อมูลเครือข่ายไปยัง/จาก Windows Server 2016 และ Windows 10 โดยใช้เครื่องมือในตัวและของบริษัทอื่น คุณอาจรู้ว่าแอพ Windows ใช้แบนด์วิดท์อินเทอร์เฟซเครือข่ายที่มีอยู่เป็นส่วนใหญ่ตามค่าเริ่มต้น อาจส่งผลให้เกิดปัญหาบางอย่างหากงาน (ส่วนใหญ่เป็นโฟลเดอร์เครือข่ายที่ใช้ร่วมกันของ SMB) ใช้แบนด์วิดท์ที่มีอยู่ทั้งหมดของอะแดปเตอร์เครือข่าย คุณสามารถจำกัดอัตราการคัดลอกไฟล์สูงสุดจากโฟลเดอร์แชร์บนเครือข่าย ซึ่งจะทำให้ผู้ใช้แอปอื่นๆ มีทรัพยากรอะแดปเตอร์เครือข่ายที่รับประกันได้
ในการจัดการคลาสทราฟฟิกหรือลำดับความสำคัญในเครือข่าย TCP/IP QoS (Quality of Service) ใช้เทคโนโลยี
การกำหนดค่า QoS Group Policy บน Windows
คุณสามารถจัดการลำดับความสำคัญของการรับส่งข้อมูลใน Windows โดยใช้การตั้งค่า QoS GPO ในสถานการณ์สมมตินี้ ฉันจะจำกัดอัตราการถ่ายโอนข้อมูลสำหรับการเชื่อมต่อขาออกทั้งหมด (นโยบายจะมีผลบังคับใช้แม้ว่าผู้ใช้จะคัดลอกไฟล์จากเซิร์ฟเวอร์ของคุณ) เมื่อใช้ตัวอย่างนี้ คุณสามารถจำกัดอัตราสำหรับแอป พอร์ต หรือโฮสต์/ไซต์ใดก็ได้
รองรับนโยบายกลุ่ม QoS ใน:
- Windows Server 2008 ขึ้นไป
- Windows Vista หรือสูงกว่า
ก่อนอื่น ตรวจสอบการตั้งค่าอะแดปเตอร์เครือข่ายของคุณเพื่อให้แน่ใจว่า Qos Packet Scheduler เปิดใช้งานตัวเลือกแล้ว
- เรียกใช้คอนโซลตัวแก้ไขนโยบายกลุ่มภายใน (
gpedit.msc
) ไปที่ การกำหนดค่าคอมพิวเตอร์ -> การตั้งค่า Windows -> QoS ตามนโยบาย และคลิก สร้างนโยบายใหม่ - ระบุชื่อกรมธรรม์ เลือกตัวเลือก ระบุอัตราเร่งขาออก และตั้งค่า อัตราเร่ง . เป็นอัตราในหน่วย MBps/KBps ที่คุณต้องการจำกัดอัตราการรับส่งข้อมูลขาออก หมายเหตุ . คุณยังสามารถตั้งค่า DSCP ได้อีกด้วย DSCP (Differenciated Services Code Point) อาจใช้กับเราเตอร์ขั้นสูง เช่น Cisco/Mikrotik เราเตอร์จะกำหนดลำดับความสำคัญให้โดยขึ้นอยู่กับค่า DSCP ของแพ็กเก็ตเครือข่าย อย่าใช้ตัวเลือกนี้หากคุณไม่แน่ใจเกี่ยวกับการตั้งค่า DSCP QoS บนเราเตอร์ของคุณ
- จากนั้น คุณสามารถเลือกกระบวนการ/แอป (ไฟล์ปฏิบัติการ .exe) หรือไซต์ IIS http ที่จะใช้นโยบาย ฉันออกจาก แอปพลิเคชันทั้งหมด ตรวจสอบตัวเลือกแล้ว
- คุณสามารถระบุอินเทอร์เฟซ IP บนคอมพิวเตอร์ของคุณที่จะใช้นโยบายได้ คุณอาจต้องใช้ถ้าคุณมีอะแดปเตอร์เครือข่ายหรือชื่อแทน IP หลายตัว
- คุณยังสามารถตั้งค่าที่อยู่ IP ปลายทางเพื่อจำกัดอัตราการถ่ายโอนได้
- จากนั้นระบุโปรโตคอลที่จะใช้กับนโยบาย (TCP, UDP หรือ TCP และ UDP) คุณยังสามารถเลือกต้นทางและพอร์ตเป้าหมายได้อีกด้วย หากคุณไม่แน่ใจว่าแอปของคุณใช้โปรโตคอลใด ให้เลือก TCP และ UDP . หากคุณต้องการจำกัดอัตราการเข้าถึงไฟล์ที่แชร์ในโฟลเดอร์ SMB ให้เลือก TCP และพอร์ต 445 .
มีการกำหนดค่านโยบาย QoS ใน Windows คุณไม่จำเป็นต้องรีบูตเครื่องคอมพิวเตอร์ อัตราการถ่ายโอนข้อมูลในเครือข่ายจะมีรูปร่างขึ้นทันทีหลังจากที่คุณใช้การเปลี่ยนแปลง โปรดทราบว่า อัตราเร่ง จะแสดงเป็นกิโลไบต์ในตัวแก้ไขนโยบาย แม้ว่าคุณจะเลือก MB เป็นค่าของมันก็ตาม
เนื่องจากฉันได้เลือกแอปทั้งหมดและพอร์ตทั้งหมด นโยบายจึงจำกัดอัตราการถ่ายโอนไฟล์เครือข่ายสูงสุดเป็น 3 MB
(รวมถึงการคัดลอกไฟล์โดยใช้ File Explorer — explorer.exe) ในภาพหน้าจอด้านล่าง คุณจะเห็นว่านโยบาย QoS ที่กำหนดค่าไว้ทำให้อัตราการถ่ายโอนไฟล์เครือข่ายใน Windows ช้าลง
นอกจากนี้ยังมีนโยบาย QoS ขั้นสูงที่มีอยู่ในส่วนนโยบายกลุ่มการกำหนดค่าคอมพิวเตอร์เท่านั้น คุณสามารถจำกัดการรับส่งข้อมูล TCP ขาเข้าใน การรับส่งข้อมูล TCP ขาเข้า แท็บ (การแทนที่การทำเครื่องหมาย DSCP tab หมายถึงการตั้งค่า DSCP เราจะไม่พูดถึงเรื่องนี้ที่นี่)
อย่างที่คุณเห็น มีการจำกัดการรับส่งข้อมูล 4 ระดับ ตารางต่อไปนี้แสดงระดับและอัตรา
ระดับการรับส่งข้อมูล TCP ขาเข้า | อัตราการโอนสูงสุด |
0 | 64 KB |
1 | 256 KB |
2 | 1 MB |
3 | 16 MB |
การจัดการนโยบาย QoS ของเครือข่าย Windows ผ่าน PowerShell
คุณสามารถใช้ PowerShell เพื่อสร้างและจัดการนโยบาย QoS ของเครือข่ายได้ ตัวอย่างเช่น ในการสร้างนโยบาย QoS ที่จำกัดแบนด์วิดท์สำหรับการรับส่งข้อมูล SMB (ไฟล์ที่แชร์) ให้ใช้คำสั่งต่อไปนี้:
New-NetQosPolicy -Name "SMBRestrictFileCopySpeed" -SMB -ThrottleRateActionBitsPerSecond 10MB
Name : SMBRestrictFileCopySpeed Owner : Group Policy (Machine) NetworkProfile : All Precedence : 127 Template : SMB JobObject : ThrottleRate : 10.486 MBits/sec
หากต้องการแสดงรายการนโยบาย QoS ที่ใช้บนคอมพิวเตอร์ ให้เรียกใช้คำสั่งนี้:Get-NetQosPolicy
ในการแก้ไขหรือลบนโยบาย QoS Set-NetQosPolicy
และ Remove-NetQosPolicy
ใช้ cmdlets
Remove-NetQosPolicy -Name SMBRestrictFileCopySpeed
Set-SmbBandwidthLimit:กำหนดค่าขีดจำกัดแบนด์วิดท์ SMB ด้วย PowerShell
Set-SmbBandwidthLimit cmdlet อนุญาตให้จำกัดอัตราการถ่ายโอนไฟล์ผ่านโปรโตคอล SMB ก่อนอื่น ติดตั้งคอมโพเนนต์ Windows Server SMB Bandwidth Limit ใช้ PowerShell:
Add-WindowsFeature -Name FS-SMBBW
หรือคุณสามารถติดตั้งได้จากตัวจัดการเซิร์ฟเวอร์แบบกราฟิก (เพิ่มคุณลักษณะของ Windows -> ขีดจำกัดแบนด์วิดท์ SMB)
โดยปกติ โมดูลนี้ใช้เพื่อกำหนดค่าขีดจำกัดแบนด์วิดท์สำหรับ Hyper-V Live Migration ตัวอย่างเช่น คำสั่งต่อไปนี้จะจำกัดความเร็วในการย้ายเครื่องเสมือนสูงสุดไว้ที่ 100 MB/s
Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MB
คุณยังสามารถใช้ -Category Default พารามิเตอร์เพื่อจำกัดการรับส่งข้อมูลการถ่ายโอนไฟล์ทั่วไปผ่าน SMB
Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MB
การควบคุมแบนด์วิดธ์การถ่ายโอนไฟล์ใน Robocopy
เมื่อทำงานกับ robocopy คุณยังสามารถใช้พารามิเตอร์พิเศษเพื่อจำกัดความเร็วในการคัดลอก/ย้ายไฟล์ผ่านเครือข่าย มันคือ /ipg (ช่องว่างระหว่างแพ็กเก็ต). คีย์กำหนดช่องว่างระหว่างแพ็คเกจในหน่วยมิลลิวินาที และใช้เพื่อลดภาระเครือข่ายเมื่อคัดลอกไฟล์ผ่านช่องสัญญาณความเร็วต่ำ Robocopy ส่งข้อมูลผ่านเครือข่ายในบล็อก 64 KB ดังนั้น หากคุณทราบแบนด์วิดท์ของลิงก์เครือข่ายของคุณ คุณสามารถนับค่าที่เกี่ยวข้อง /ipg ตามข้อกำหนดอัตราการถ่ายโอน
หากคุณไม่ต้องการลงลึกในสูตร คุณสามารถใช้ Robocopy IPG Calclator ที่พร้อมใช้งาน:https://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2
คุณยังสามารถใช้โปรโตคอล BITS เพื่อคัดลอกข้อมูลไปยังลิงก์เครือข่ายที่ช้าหรือไม่เสถียร (ดูตัวอย่างในบทความเกี่ยวกับวิธีการคัดลอกไฟล์ขนาดใหญ่โดยใช้ BITS และ PowerShell) โปรโตคอล BITS ช่วยให้สามารถจัดการความเร็วในการถ่ายโอนข้อมูลระหว่างสองโฮสต์แบบไดนามิกได้ ขึ้นอยู่กับโหลดของช่องสัญญาณและรองรับการดาวน์โหลดต่อ
การกำหนดรูปแบบการเข้าชมโดยใช้เครื่องมือของบุคคลที่สาม
โซลูชันเชิงพาณิชย์ที่ได้รับความนิยมมากที่สุดในการจำกัดปริมาณงานใน Windows ขึ้นอยู่กับพอร์ต แอพ หรือปลายทางคือ NetLimiter เครื่องมือฟรียอดนิยมคือ TMeter Free
นอกจากนี้ยังควรค่าแก่การกล่าวถึง:
- Glasswire – รวมถึงไฟร์วอลล์และจอภาพเครือข่าย
- NetBalancer – การตรวจสอบเครือข่ายและการตั้งค่ากฎการรับส่งข้อมูล
- cFosSpeed – สามารถกำหนดลำดับความสำคัญของการรับส่งข้อมูลสำหรับแอปได้
- Net Peeker – เช่นเดียวกับ Glasswire มีคุณสมบัติไฟร์วอลล์และอาจกำหนดลำดับความสำคัญของการรับส่งข้อมูล
นโยบาย Windows QoS สามารถจำกัดอัตราการถ่ายโอนข้อมูลในเครือข่ายได้ดี ดังนั้นหากคุณต้องการทำ ให้ลองใช้ QoS ก่อน เช่นเดียวกับนโยบายอื่นๆ คุณสามารถกำหนดค่าได้ในระดับโดเมนด้วย gpmc.msc
คอนโซล
ซอฟต์แวร์ของบริษัทอื่นมีคุณสมบัติและอินเทอร์เฟซแบบกราฟิกมากกว่า แต่แอปเหล่านี้ส่วนใหญ่เป็นเชิงพาณิชย์