আমি প্রতি অ্যাপ্লিকেশন ভিত্তিতে কীভাবে নেটওয়ার্ক ব্যান্ডউইথকে অগ্রাধিকার দিতে পারি?


20

নেটওয়ার্ক ব্যান্ডউইদথের জন্য কোনও নির্দিষ্ট অ্যাপ্লিকেশনকে আরও / কম অগ্রাধিকার দেওয়ার জন্য লিনাক্সের কোনও উপায় আছে কি? সিপিইউয়ের niceঅগ্রাধিকারের জন্য কীভাবে এমন কিছু ।

প্রসঙ্গ: আমি বর্তমানে খুব কম ব্যান্ডউইথ সংযোগে আছি (3 জি ডংল)। যখন আমি ব্যবহার করে বেশ বড় আপগ্রেড করছি aptitude, তখন ওয়েব ব্রাউজ করা কার্যত অসম্ভব হয়ে যায় যেহেতু আপগ্রেড ডাউনলোড আমার ইন্টারনেট সংযোগটি হোগিং করে চলেছে।

সুতরাং আমি যা করতে চাই তা হ'ল aptitudeপ্রক্রিয়াটির (এবং তার সমস্ত শিশুদের) নেটওয়ার্ক ব্যান্ডউইথের অগ্রাধিকারটি হ্রাস করা যাতে এটি অন্য প্রক্রিয়াটি ব্যবহার করার সময় এটি খুব বেশি ব্যান্ডউইথ ব্যবহার করতে পারে না।


প্রবণতা কি এর সংযোগগুলির জন্য একটি নির্দিষ্ট পোর্ট ব্যবহার করে? যদি তা হয় তবে আপনি আপনার রাউটারে QoS ব্যবহার করে সেই বন্দরটির অগ্রাধিকারটি সেট করতে পারেন (যদি আপনার রাউটারের সেই ক্ষমতা থাকে)।
ম্যাক্লিওড

@ ম্যাক্লিওড: ১) না, এটি ডাউনলোডের জন্য এইচটিটিপি ব্যবহার করে। 2) যেহেতু আমি 3 জি নেটওয়ার্কে আছি, আমার কাছে রাউটার নেই (ভাল, আমি যেভাবেই অ্যাক্সেস করতে পারি তার একটি নয়)।
চাকরী

আমি তার অগ্রাধিকারের সাথে খেলার চেষ্টা করার পরিবর্তে প্রবণতা / অ্যাপটির ডাউনলোডের গতি সীমাবদ্ধ করব। ব্রাউজিংয়ের জন্য কিছু রেখে দেওয়ার জন্য এটি আপনার সর্বোচ্চ ব্যান্ডউইথের অর্ধেক স্থানে সেট করুন। কাতালিনের উত্তরের মন্তব্যে কিউএসের সাথে না খেলার জন্য আমি আমার যুক্তিটি বর্ণনা করার চেষ্টা করেছি।
vrest

উত্তর:


8

আপনি অ্যাপ্লিকেশনটির সমস্ত সকেটের জন্য অগ্রাধিকার সেট করতে ফোর্স বাইন্ড ব্যবহার করতে পারেন এবং তারপরে, লিনাক্স কিউএস (টিসি কমান্ড) ব্যবহার করে আপনি অ্যাপ্লিকেশনগুলিকে অগ্রাধিকার ব্যান্ডে নির্ধারণ করতে পারেন। উদাহরণের জন্য README ফাইলটি পরীক্ষা করে দেখুন।

http://kernel.embedromix.ro/us/

দাবি অস্বীকার: আমি লেখক।

উদাহরণ:

14: Force priority (between 0 and 6 for non-root users). You can
        use 'tc' command from iproute to set-up 'prio' qdisc and to
        assign prio to queues:
        # 0. setup
        export FORCE_NET_VERBOSE=1
        export LD_PRELOAD=${LD_PRELOAD}:/usr/lib/force_bind.so
        # 1. Make sure you have a 'prio' qdisc attached to eth0, for example:
        tc qdisc add ev eth0 root handle 1: prio
        # 2. Assign applications to classed (bands):
        export FORCE_NET_PRIO=6 # interactive, band 0
        your_voip_program_here
        export FORCE_NET_PRIO=0 # best effort, band 1
        your_mail_program_here
        export FORCE_NET_PRIO=2 # bulk, band 2
        your_remote_backup_program_here
        # 3. Run tc statistics so you can see the classification:
        tc -s class show dev eth0

অবশ্যই, আপনি এইচটিবি বা অন্য কোনও কিউডিস্ক ব্যবহার করতে পারেন।


3
দাবি অস্বীকার করার জন্য ধন্যবাদ! সুপার ব্যবহারকারীর অনুপ্রেরণায়, আপনি যদি সবার জন্য এখানে উদাহরণ প্রদান করতে পারেন তবে তা দুর্দান্ত হবে!
স্ল্যাক করুন

1
ডাউনলোডিং আসন্ন ট্র্যাফিক উত্পন্ন করে। QoS বহির্গামী ট্র্যাফিকের নীতি করতে পারে, এটি আগত ডেটার পরিমাণ নিয়ন্ত্রণ করতে পারে না। এটি কাজ করার জন্য, হোস্ট এবং ইন্টারনেটের মধ্যে রাউটারটি নিয়ন্ত্রণ করা দরকার।
vrest

2
trickle(উপলব্ধ উবুন্টু এবং ডেবিয়ান অন্তত) আপনার জন্য পাশাপাশি কি করতে হবে, এবং একটি বিট ব্যবহার করা আরো সহজ হতে পারে: trickle -d 1 -u 1 aptitude। নম্বর কিলোবাইট।
টানেলি

1
আগত ট্র্যাফিক সম্পর্কে, আপনি রাউটারটি নিয়ন্ত্রণ করতে না পারলেও নির্দিষ্ট ধরণের আগত ট্র্যাফিকের অন্য ধরণের চেয়ে বেশি অগ্রাধিকার দেওয়া সম্ভব? @ সর্বশেষতম
সিএমসিডিগ্রাঙ্কাই

3
@ টানেলি: trickleব্যান্ডউইথ সীমা সেটআপ করতে ব্যবহার করা যেতে পারে, তবে প্রক্রিয়াগুলির মধ্যে অগ্রাধিকার সংজ্ঞায়িত করতে এটি ব্যবহার করা যায় না
a3nm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.