การควบคุมความเร็วการถ่ายโอนไฟล์เครือข่ายบน Windows
ในบทความนี้ เราจะแสดงวิธีจำกัดอัตราการถ่ายโอนข้อมูลเครือข่ายไปยัง/จาก Windows Server 2016 และ Windows 10 โดยใช้เครื่องมือในตัวและของบุคคลที่สาม คุณอาจทราบว่าแอพ Windows ใช้แบนด์วิดท์อินเทอร์เฟซเครือข่ายที่มีอยู่มากที่สุดตามค่าเริ่มต้น อาจส่งผลให้เกิดปัญหาบางอย่างหากงาน (โฟลเดอร์เครือข่ายที่ใช้ร่วมกันโดยส่วนใหญ่เป็น SMB) ใช้แบนด์วิดท์ที่มีอยู่ทั้งหมดของอะแดปเตอร์เครือข่าย คุณสามารถจำกัดอัตราการคัดลอกไฟล์สูงสุดจากโฟลเดอร์ที่ใช้ร่วมกันบนเครือข่าย ซึ่งจะทำให้ผู้ใช้แอปอื่นๆ ได้รับการรับประกันทรัพยากรของอะแดปเตอร์เครือข่าย
ในการจัดการคลาสการรับส่งข้อมูลหรือลำดับความสำคัญในเครือข่าย TCP/IP จะใช้เทคโนโลยี QoS (คุณภาพการบริการ)
การกำหนดค่า QoS Group Policy บน Windows
คุณสามารถจัดการลำดับความสำคัญของการรับส่งข้อมูลใน Windows โดยใช้การตั้งค่า QoS GPO ในสถานการณ์สมมตินี้ ฉันจะจำกัดอัตราการถ่ายโอนข้อมูลสำหรับการเชื่อมต่อขาออกทั้งหมด (นโยบายจะถูกนำไปใช้แม้ในขณะที่ผู้ใช้คัดลอกไฟล์จากเซิร์ฟเวอร์ของคุณ) เมื่อใช้ตัวอย่างนี้ คุณสามารถจำกัดอัตราสำหรับแอป พอร์ต หรือโฮสต์/ไซต์ใดๆ
นโยบายกลุ่ม QoS ได้รับการสนับสนุนใน:
Windows Server 2008 หรือสูงกว่า
-
Windows Vista หรือสูงกว่า
ก่อนอื่น ตรวจสอบการตั้งค่าอะแดปเตอร์เครือข่ายเพื่อให้แน่ใจว่าได้เปิดใช้งานตัวเลือก Qos Packet Scheduler
เรียกใช้คอนโซล Local Group Policy Editor (
gpedit.msc) ไปที่ การกำหนดค่าคอมพิวเตอร์ -> การตั้งค่า Windows -> QoS ตามนโยบาย แล้วคลิก สร้างนโยบายใหม่
ระบุชื่อนโยบาย เลือกตัวเลือก ระบุอัตราการควบคุมความเร็วขาออก และตั้งค่า อัตราการควบคุมความเร็ว เป็นอัตราในหน่วย MBps/KBps ที่คุณต้องการจำกัดอัตราการรับส่งข้อมูลขาออก
หมายเหตุ คุณยังสามารถตั้งค่า DSCP DSCP (Differenciated Services Code Point) อาจใช้กับเราเตอร์ขั้นสูง เช่น Cisco/Mikrotik ขึ้นอยู่กับค่า DSCP ของแพ็คเก็ตเครือข่าย เราเตอร์จะกำหนดลำดับความสำคัญให้กับมัน อย่าใช้ตัวเลือกนี้หากคุณไม่แน่ใจเกี่ยวกับการตั้งค่า DSCP QoS บนเราเตอร์ของคุณ
จากนั้นคุณสามารถเลือกกระบวนการ/แอป (ไฟล์ปฏิบัติการ .exe) หรือไซต์ http(s) ของ IIS ที่นโยบายจะนำไปใช้ ฉันเลือกตัวเลือก แอปพลิเคชันทั้งหมดไว้
คุณสามารถระบุอินเทอร์เฟซ 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 หมายถึงการตั้งค่า DSCP เราจะไม่พูดถึงในที่นี้)
อย่างที่คุณเห็น มีการจำกัดการจราจร 4 ระดับ ตารางต่อไปนี้แสดงระดับและอัตรา
| Inbound TCP throughput level | Maximum Transfer Rate |
| 0 | 64 KB |
| 1 | 256 KB |
| 2 | 1 MB |
| 3 | 16 MB |
การจัดการนโยบาย Windows Network QoS ผ่าน PowerShell
คุณสามารถใช้ PowerShell เพื่อสร้างและจัดการนโยบาย QoS ของเครือข่าย ตัวอย่างเช่น หากต้องการสร้างนโยบาย QoS ที่จำกัดแบนด์วิดท์สำหรับทราฟฟิก SMB (ไฟล์ที่ใช้ร่วมกัน) ให้ใช้คำสั่งต่อไปนี้:
New-NetQosPolicy -Name "SMBRestrictFileCopySpeed" -SMB -ThrottleRateActionBitsPerSecond 10MBName : 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 SMBRestrictFileCopySpeedSet-SmbBandwidthLimit: กำหนดค่าขีดจำกัดแบนด์วิธ SMB ด้วย PowerShell
cmdlet Set-SmbBandwidthLimit อนุญาตให้จำกัดอัตราการถ่ายโอนไฟล์ผ่านโปรโตคอล SMB ก่อนอื่น ติดตั้งคอมโพเนนต์ Windows Server SMB Bandwidth Limit โดยใช้ PowerShell:
Add-WindowsFeature -Name FS-SMBBWหรือคุณสามารถติดตั้งได้จากตัวจัดการเซิร์ฟเวอร์แบบกราฟิก (เพิ่มคุณสมบัติ Windows -> จำกัดแบนด์วิดท์ SMB)
โดยปกติโมดูลนี้ใช้เพื่อกำหนดค่าขีดจำกัดแบนด์วิธสำหรับ Hyper-V Live Migration ตัวอย่างเช่น คำสั่งต่อไปนี้จะจำกัดความเร็วในการโอนย้ายเครื่องเสมือนสูงสุดไว้ที่ 100 MB/วินาที
Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MBคุณยังสามารถใช้พารามิเตอร์ -Category Default เพื่อจำกัดทราฟฟิกการถ่ายโอนไฟล์ทั่วไปผ่าน SMB
Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MBFS-SMBBW มีอยู่ใน Windows Server 2012 R2 หรือสูงกว่า
การควบคุมแบนด์วิธการถ่ายโอนไฟล์ใน Robocopy
เมื่อทำงานกับ robocopy คุณยังสามารถใช้พารามิเตอร์พิเศษเพื่อจำกัดความเร็วในการคัดลอก/ย้ายไฟล์ผ่านเครือข่าย มันคือ /ipg (ช่องว่างระหว่างแพ็คเก็ต) คีย์กำหนดช่องว่างระหว่างแพ็คเกจเป็นมิลลิวินาทีและใช้เพื่อลดภาระของเครือข่ายเมื่อคัดลอกไฟล์ผ่านช่องทางความเร็วต่ำ Robocopy ส่งข้อมูลผ่านเครือข่ายในบล็อก 64 KB ดังนั้น หากคุณทราบแบนด์วิธของลิงค์เครือข่ายของคุณ คุณสามารถนับค่า /ipg ที่เกี่ยวข้องตามข้อกำหนดอัตราการถ่ายโอน
หากคุณไม่ต้องการลงลึกในสูตร คุณสามารถใช้ Robocopy IPG Calclator ที่พร้อมใช้งาน: http://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2
คุณยังสามารถใช้โปรโตคอล BITS เพื่อคัดลอกข้อมูลไปยังลิงก์เครือข่ายที่ช้าหรือไม่เสถียร (ดูตัวอย่างในบทความเกี่ยวกับวิธีคัดลอกไฟล์ขนาดใหญ่โดยใช้ BITS และ PowerShell) โปรโตคอล BITS ช่วยให้สามารถจัดการความเร็วการถ่ายโอนข้อมูลแบบไดนามิกระหว่างสองโฮสต์โดยขึ้นอยู่กับโหลดของช่องสัญญาณและรองรับการดาวน์โหลดต่อ
การสร้างปริมาณการใช้ข้อมูลโดยใช้เครื่องมือของบุคคลที่สาม
โซลูชันเชิงพาณิชย์ที่ได้รับความนิยมสูงสุดในการจำกัดปริมาณงานใน Windows โดยขึ้นอยู่กับพอร์ต แอป หรือปลายทางคือ NetLimiter เครื่องมือฟรียอดนิยมคือ TMeter ฟรี
นอกจากนี้ยังควรพูดถึง:
Glasswire - รวมถึงไฟร์วอลล์และจอภาพเครือข่าย
NetBalancer - การตรวจสอบเครือข่ายและการตั้งค่ากฎการรับส่งข้อมูล
cFosSpeed - สามารถกำหนดค่าลำดับความสำคัญของการรับส่งข้อมูลสำหรับแอปต่างๆ
Net Peeker - เช่นเดียวกับ Glasswire มีคุณสมบัติไฟร์วอลล์และอาจกำหนดลำดับความสำคัญของการรับส่งข้อมูล
นโยบาย QoS ของ Windows สามารถจำกัดอัตราการถ่ายโอนข้อมูลในเครือข่ายได้ ดังนั้น หากคุณต้องการทำสิ่งนี้ ให้ลองใช้ QoS ก่อนเป็นอันดับแรก เช่นเดียวกับนโยบายอื่นๆ คุณสามารถกำหนดค่าได้ในระดับโดเมนด้วย
gpmc.mscคอนโซล
ซอฟต์แวร์ของบุคคลที่สามมีคุณสมบัติและอินเทอร์เฟซแบบกราฟิกมากกว่า แต่แอปเหล่านี้ส่วนใหญ่เป็นเชิงพาณิชย์











