จาก manpage ข้อ จำกัด เพียงข้อเดียวburst
คือจะต้องสูงพอที่จะอนุญาตอัตราที่กำหนดไว้ของคุณ: อย่างน้อยต้องเป็นอัตรา / HZ HZ เป็นพารามิเตอร์การกำหนดค่าเคอร์เนล คุณสามารถคิดได้ว่ามันมีอะไรในระบบของคุณโดยการตรวจสอบการตั้งค่าเคอร์เนลของคุณ เช่นบนเดเบียนคุณสามารถ:
$ egrep '^CONFIG_HZ_[0-9]+' /boot/config-`uname -r`
CONFIG_HZ_250=y
ดังนั้น HZ ในระบบของฉันคือ 250 หากต้องการอัตรา 10mbps ฉันต้องมีburst
อย่างน้อย 10,000,000 บิต / วินาที sec 250 Hz = 40,000 บิต = 5,000 ไบต์ (โปรดสังเกตว่าค่าที่สูงกว่าใน manpage มาจากเมื่อ HZ = 100 เป็นค่าเริ่มต้น)
แต่นอกเหนือจากนี้burst
ยังเป็นเครื่องมือทางนโยบายอีกด้วย มันกำหนดขอบเขตที่คุณสามารถใช้แบนด์วิดท์น้อยลงในขณะนี้เพื่อ "บันทึก" มันเพื่อใช้ในอนาคต สิ่งหนึ่งที่พบได้ทั่วไปที่นี่คือคุณอาจต้องการอนุญาตให้มีการดาวน์โหลดขนาดเล็ก (เช่นหน้าเว็บ) เพื่อไปอย่างรวดเร็วในขณะที่การดาวน์โหลดขนาดใหญ่ คุณทำได้โดยเพิ่มburst
ขนาดที่คุณพิจารณาว่าเป็นการดาวน์โหลดขนาดเล็ก (แม้ว่าคุณมักจะเปลี่ยนไปใช้ classfull qdisc เช่น htb ดังนั้นคุณจึงสามารถแบ่งกลุ่มการเข้าชมได้หลายประเภท)
rate
ดังนั้นคุณกำหนดค่าออกมาจะเป็นที่มากพออย่างน้อยเพื่อให้บรรลุตามที่ต้องการ นอกเหนือจากนั้นคุณอาจเพิ่มได้อีกขึ้นอยู่กับสิ่งที่คุณพยายามที่จะบรรลุ
แบบจำลองแนวคิดของตัวกรองถังโทเค็น
"bucket" เป็นวัตถุเชิงเปรียบเทียบ คุณสมบัติที่สำคัญของมันคือมันสามารถเก็บโทเค็นได้และจำนวนโทเค็นที่สามารถเก็บได้นั้นมี จำกัด - ถ้าคุณพยายามเพิ่มอีกมัน "ล้น" และโทเค็นพิเศษจะหายไป (เช่นพยายามใส่น้ำมากเกินไปใน ถังจริง) burst
ขนาดของถังที่เรียกว่า
เพื่อส่งแพ็กเก็ตไปยังเครือข่ายจริงแพ็คเก็ตนั้นจะต้องได้รับโทเค็นเท่ากับขนาดเป็นไบต์หรือmpu
(แล้วแต่จำนวนใดจะใหญ่กว่า)
มี (หรืออาจเป็น) หนึ่งแถว (คิว) ของแพ็กเก็ตที่รอสัญญาณโทเค็น สิ่งนี้เกิดขึ้นเมื่อที่ฝากข้อมูลว่างเปล่าหรือมีโทเค็นน้อยกว่าขนาดของแพ็คเก็ต มีเพียงห้องพักมากบนทางเท้าในด้านหน้าของถังและปริมาณของห้อง (ไบต์) limit
มีการตั้งค่าโดยตรงคือ หรือสามารถตั้งค่าทางอ้อมด้วยlatency
(ในโลกอุดมคติการคำนวณจะเป็นrate
× latency
)
เมื่อเคอร์เนลต้องการส่งแพ็คเก็ตออกมาจากส่วนต่อประสานที่ถูกกรองมันจะพยายามวางแพ็กเก็ตที่ส่วนท้ายของบรรทัด หากไม่มีที่ว่างบนทางเท้านั่นเป็นสิ่งที่โชคร้ายสำหรับแพ็คเก็ตเพราะในตอนท้ายของทางเท้านั้นเป็นหลุมที่ไม่มีก้นหลุมและเคอร์เนลจะปล่อยแพ็คเก็ต
ชิ้นสุดท้ายคือเครื่องทำโทเค็นที่เพิ่มrate
/ HZ
โทเค็นลงในถังทุกเห็บ (นี่คือสาเหตุที่ที่ฝากข้อมูลของคุณต้องมีขนาดใหญ่อย่างน้อยนี้มิฉะนั้นโทเค็นที่เพิ่งสร้างใหม่บางส่วนจะถูกยกเลิกทันที)
tbf
เป็นส่วนหนึ่งของกรอบการควบคุมปริมาณการใช้งาน Linuxman tbf
หรือman tc-tbf
ควรนำเอกสารขึ้นมา