আমি বুঝতে পারি ইতিমধ্যে অনেক অনুরূপ প্রশ্ন জিজ্ঞাসা করা হয়েছে, তবে এখনও পর্যন্ত আমি আমার সমস্যার সমাধান খুঁজে পাইনি।
আমার কাছে একটি ভার্চুয়াল লিনাক্স সার্ভার রয়েছে (চলমান দেবিয়ান স্কুইজ) যা ওয়েবসাইটের গতি পরীক্ষার জন্য আমি ব্যবহার করি ওয়েবসাইটগুলির লোড সময়ের পরিমাণ বৃদ্ধি এবং হ্রাস পরিমাপ করতে use আমি ওয়েবসাইটগুলিতে রিয়েল ওয়ার্ল্ড লোড টাইমের কাছাকাছি আসতে সক্ষম হওয়ার জন্য এই সার্ভারটির ব্যান্ডউইথ এবং লেটেন্সি সীমাবদ্ধ করার চেষ্টা করছি, তবে এখনও ব্যর্থ হয়েছি।
আমি বিশেষত যা চাই তা হ'ল:
- 50 এমএসের আগত এবং বহির্গামী বিলম্বটি সেট করতে।
- 512 কেবিপিএসের আগত ব্যান্ডউইথ সীমা নির্ধারণ করতে।
- 4096 কেবিপিএসের আউটগোয়িং ব্যান্ডউইথ সীমা নির্ধারণ করতে।
আমি নেটিম পড়তে এবং 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-90 কেবি / সেকেন্ডে নেমে যায় যা স্থানান্তরিত হওয়ার প্রায় 30 সেকেন্ড পরে পৌঁছায়।
আমি কী ভুল করছি সে সম্পর্কে কোনও ধারণা?
netem delay 50ms
বিলম্বিতা সীমাবদ্ধ করে না। এটি50ms
অন্যথায় যা হত তার তুলনায় এটি বিলম্বকে বাড়িয়ে তোলে ।