मुझे लगता है कि इसी तरह के कई सवाल पहले ही पूछे जा चुके हैं, लेकिन अभी तक मुझे अपनी समस्या का हल ढूंढना है।
मेरे पास एक वर्चुअल लिनक्स सर्वर (डेबियन स्क्वीज चल रहा है) है जो मैं वेबसाइट की गति के परीक्षण के लिए उपयोग करता हूं ताकि उक्त वेबसाइटों के लोड समय में वृद्धि और कमी को मापा जा सके। मैं इस सर्वर की बैंडविड्थ और विलंबता को सीमित करने का प्रयास कर रहा हूं ताकि वेबसाइटों पर वास्तविक विश्व लोड समय के करीब पहुंच सकें, लेकिन अभी तक विफल रहे हैं।
मैं विशेष रूप से निम्नलिखित चाहता हूं:
- 50 ms की आवक और जावक विलंबता सेट करने के लिए।
- आने वाली बैंडविड्थ सीमा 512 kbps निर्धारित करने के लिए।
- 4096 kbps की एक आउटगोइंग बैंडविड्थ सीमा निर्धारित करने के लिए।
मैं netem पर पढ़ रहा हूं और tc
कमांड का उपयोग कर रहा हूं , लेकिन यह अभी भी मेरे सिर पर थोड़ा सा है। मैं इस कमांड को एक साथ रखने में कामयाब रहा हूं जो विलंबता को नियंत्रित करने के लिए काम करता है, लेकिन मुझे यकीन नहीं है कि अगर केवल आउटगोइंग विलंबता या दोनों को संभालता है:
tc qdisc add dev eth0 root netem delay 50ms
कोई भी नेटवर्क गुरु जो मुझे मदद कर सकता है?
संपादित करें:
आगे के शोध के बाद, मैंने अपने लक्ष्य के लिए आधा रास्ता तय कर लिया है, इस आदेश का उपयोग करते हुए सभी आउटगोइंग ट्रैफ़िक व्यवहार करता है जैसा कि मैं चाहता हूं:
tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000
हालाँकि, मैं अभी भी आने वाले ट्रैफ़िक को ठीक से गला नहीं पा रहा हूँ। मुझे पता चला है कि मैं एक "इनग्रेड पोलिसर फिल्टर" का उपयोग करने वाला हूं, मैं नीचे दिए गए कमांड के साथ, विभिन्न मूल्यों के साथ खेल रहा हूं, लेकिन कोई भाग्य नहीं है।
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match ip src 0.0.0.0/0 flowid :1 police rate 1.0mbit mtu 10000 burst 10k drop
बैंडविड्थ कमांड से प्रभावित होता है, हालांकि ऊपर दिए गए मान 2MB / s पर गति शुरू करते हैं और, जैसे-जैसे एक ट्रांसफर आगे बढ़ता है, धीरे-धीरे लगभग 80-90kB / s तक गिरता है, जो हस्तांतरण के लगभग 30 सेकंड के बाद पहुंचता है।
क्या मैं गलत कर रहा हूँ पर कोई विचार?
netem delay 50ms
विलंबता को सीमित नहीं करता है। यह इसकी तुलना में विलंबता को बढ़ाता है,50ms
अन्यथा यह अन्यथा होता।