ค้นหาเว็บไซต์

การควบคุมความเร็วการถ่ายโอนไฟล์เครือข่ายบน 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

  1. เรียกใช้คอนโซล Local Group Policy Editor (

    gpedit.msc

    ) ไปที่ การกำหนดค่าคอมพิวเตอร์ -> การตั้งค่า Windows -> QoS ตามนโยบาย แล้วคลิก สร้างนโยบายใหม่

  2. ระบุชื่อนโยบาย เลือกตัวเลือก ระบุอัตราการควบคุมความเร็วขาออก และตั้งค่า อัตราการควบคุมความเร็ว เป็นอัตราในหน่วย MBps/KBps ที่คุณต้องการจำกัดอัตราการรับส่งข้อมูลขาออก

    หมายเหตุ คุณยังสามารถตั้งค่า DSCP DSCP (Differenciated Services Code Point) อาจใช้กับเราเตอร์ขั้นสูง เช่น Cisco/Mikrotik ขึ้นอยู่กับค่า DSCP ของแพ็คเก็ตเครือข่าย เราเตอร์จะกำหนดลำดับความสำคัญให้กับมัน อย่าใช้ตัวเลือกนี้หากคุณไม่แน่ใจเกี่ยวกับการตั้งค่า DSCP QoS บนเราเตอร์ของคุณ

  3. จากนั้นคุณสามารถเลือกกระบวนการ/แอป (ไฟล์ปฏิบัติการ .exe) หรือไซต์ http(s) ของ IIS ที่นโยบายจะนำไปใช้ ฉันเลือกตัวเลือก แอปพลิเคชันทั้งหมดไว้

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

  5. คุณยังสามารถตั้งค่าที่อยู่ IP ปลายทางเพื่อจำกัดอัตราการถ่ายโอนได้

  6. จากนั้นระบุโปรโตคอลที่จะใช้กับนโยบาย (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 levelMaximum Transfer Rate
064 KB
1256 KB
21 MB
316 MB

การจัดการนโยบาย Windows Network QoS ผ่าน 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

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 10MB

FS-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 ฟรี

นอกจากนี้ยังควรพูดถึง:

  1. Glasswire - รวมถึงไฟร์วอลล์และจอภาพเครือข่าย

  2. NetBalancer - การตรวจสอบเครือข่ายและการตั้งค่ากฎการรับส่งข้อมูล

  3. cFosSpeed - สามารถกำหนดค่าลำดับความสำคัญของการรับส่งข้อมูลสำหรับแอปต่างๆ

  4. Net Peeker - เช่นเดียวกับ Glasswire มีคุณสมบัติไฟร์วอลล์และอาจกำหนดลำดับความสำคัญของการรับส่งข้อมูล

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

gpmc.msc

คอนโซล

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

บทความที่เกี่ยวข้อง