tc
और netem
टूल का उपयोग करके ट्रैफ़िक दर को सीमित करना संभव है, लेकिन यह कंप्यूटर के नेटवर्क इंटरफ़ेस के लिए दर को सीमित कर देगा। मैं मान रहा हूं कि आप केवल wget
या curl
किसी अन्य एप्लिकेशन का उपयोग करते हैं और नेटवर्क इंटरफ़ेस के माध्यम से ट्रैफ़िक का आदान-प्रदान कर रहे हैं।
tc
दर को नियंत्रित करने के लिए टोकन बकेट फ़िल्टर (टीबीएफ) का उपयोग करता है।
टीबीएफ का एक उदाहरण इस प्रकार होगा (रेफरी। Http://www.lartc.org/manpages/tc-tbf.html ):
एक टीबीएफ को 0.5mbit / s की अधिकतम अधिकतम दर के साथ संलग्न करने के लिए, 1.0mbit / s की एक चोटी, 5kilobyte बफर, एक प्री-बकेट कतार आकार की सीमा के साथ गणना की जाती है, इसलिए 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 में पाया गया ):
नेटम अनुशासन में कोई दर नियंत्रण नहीं है, इसके बजाय दर नियंत्रण करने वाले अन्य विषयों में से एक का उपयोग करें। इस उदाहरण में, हम आउटपुट को सीमित करने के लिए टोकन बकेट फ़िल्टर (टीबीएफ) का उपयोग करते हैं।
इंटरफ़ेस 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
इंटरफ़ेस eth0 के लिए tc में निर्दिष्ट नियमों की सूची देखने के लिए
# 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 )
बफर और सीमा के विकल्पों पर जाँच करें क्योंकि आपको लग सकता है कि आपको इनकी तुलना में बड़ी चूक की आवश्यकता है (वे बाइट्स में हैं)