เป็นไปได้ไหมที่จะ จำกัด ความเร็วในการดาวน์โหลดของwget
หรือcurl
?
เป็นไปได้หรือไม่ที่จะเปลี่ยนค่าเค้นในขณะที่กำลังดาวน์โหลด?
SIGSTOP
หรือ ctrl + z และดำเนินการต่อในภายหลังด้วยSIGCONT
หรือ fg นี่ควรหยุดกระบวนการดาวน์โหลดชั่วคราว
เป็นไปได้ไหมที่จะ จำกัด ความเร็วในการดาวน์โหลดของwget
หรือcurl
?
เป็นไปได้หรือไม่ที่จะเปลี่ยนค่าเค้นในขณะที่กำลังดาวน์โหลด?
SIGSTOP
หรือ ctrl + z และดำเนินการต่อในภายหลังด้วยSIGCONT
หรือ fg นี่ควรหยุดกระบวนการดาวน์โหลดชั่วคราว
คำตอบ:
ใช่รองรับทั้ง wget และ curl จำกัด อัตราการดาวน์โหลดของคุณ ตัวเลือกทั้งสองจะกล่าวถึงโดยตรงในหน้าคน
--limit-rate <speed> Specify the maximum transfer rate you want curl to use. This feature is useful if you have a limited pipe and you'd like your transfer not to use your entire bandwidth. The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
เช่น: curl --limit-rate 423K
--limit-rate=amount Limit the download speed to amount bytes per second. Amount may be expressed in bytes, kilobytes with the k suffix, or megabytes with the m suffix. For example, --limit-rate=20k will limit the retrieval rate to 20KB/s. This is useful when, for whatever reason, you don't want Wget to consume the entire available bandwidth.
เช่น: wget --limit-rate=423k
wget
มิได้curl
เป็นโปรแกรมแบบโต้ตอบ
2 ปีต่อมาฉันจะโยนชิ้นอาหารอันโอชะนี้ในขณะที่wget
และcurl
ไม่ได้มีการโต้ตอบอย่างน้อยwget
(และอาจจะcurl
แต่ฉันไม่ทราบแน่นอน) มี-c
สวิตช์ (ซึ่งย่อมาจากการที่ฉันออกจากการดาวน์โหลดก่อนหน้านี้) ดังนั้นหากคุณต้องการเปลี่ยนความเร็วของคุณในระหว่างการดาวน์โหลดและคุณใช้-c
สวิทช์กับสวิตช์--limit-rate=x
แล้วคุณสามารถหยุดwget
และรีสตาร์ทด้วยความเร็วที่แตกต่างกันและมันจะเปลี่ยน
เป็นไปได้ที่จะ จำกัด อัตราการเข้าชมโดยใช้tc
และnetem
เครื่องมือ แต่จะ จำกัด อัตราสำหรับอินเทอร์เฟซเครือข่ายของคอมพิวเตอร์ ฉันกำลังสมมติว่าคุณใช้เฉพาะwget
หรือcurl
ไม่มีแอพลิเคชันอื่น ๆ แลกเปลี่ยนการจราจรผ่านเครือข่ายอินเตอร์เฟซ
tc
ใช้ Token Bucket Filter (TBF) เพื่อควบคุมอัตรา
ตัวอย่างหนึ่งของ TBF จะเป็นดังนี้ (ref. http://www.lartc.org/manpages/tc-tbf.html ):
ในการติดตั้ง TBF ด้วยอัตราสูงสุด 0.5mbit / s, ค่าสูงสุด 1.0mbit / s, บัฟเฟอร์ 5kilobyte, โดยมีขีด จำกัด ขนาด pre-bucket ที่คำนวณเพื่อให้ TBF เกิดการแฝงตัวที่ 70ms ที่สุด, โดยมีพฤติกรรมที่สมบูรณ์แบบสูงสุด , ปัญหา:
# tc qdisc add dev eth0 root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540
ตัวอย่างของ usign tc และ netem จะเป็นดังนี้ (พบได้ในhttp://www.linuxfoundation.org/collaborate/workgroups/networking/netem ):
ไม่มีการควบคุมอัตราภายในวินัย netem แทนที่จะใช้หนึ่งในสาขาวิชาอื่น ๆ ที่จะทำการควบคุมอัตรา ในตัวอย่างนี้เราใช้ Token Bucket Filter (TBF) เพื่อ จำกัด เอาต์พุต
เพื่อเพิ่มความล่าช้าของแต่ละแพ็คเก็ตไป / มาผ่านอินเตอร์เฟส eth0
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
เพื่อเพิ่มอัตราข้อมูลเป็น tbf ขนาดบัฟเฟอร์แพ็คเก็ตและขีด จำกัด การระเบิดสูงสุด
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
หากต้องการดูรายการของกฎที่กำหนดใน tc สำหรับอินเตอร์เฟส eth0
# tc -s qdisc ls dev eth0
ผลลัพธ์ของคำสั่งดังกล่าวจะเป็นด้านล่าง
qdisc netem 1: limit 1000 delay 100.0ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
qdisc tbf 10: rate 256Kbit burst 1599b lat 26.6ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
ตรวจสอบตัวเลือกสำหรับบัฟเฟอร์และ จำกัด ตามที่คุณอาจพบว่าคุณต้องการค่าเริ่มต้นที่ใหญ่กว่านี้ (มีหน่วยเป็นไบต์)