ইতিমধ্যে চালু হওয়া প্রক্রিয়াটির নেটওয়ার্ক থ্রুপুট সীমাবদ্ধ? (লিনাক্সের / FreeBSD 'র)


10

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

আমি অনুমান করি যে এটি অর্জনের জন্য আমি iptables / tc বা pf এর সংমিশ্রণটি ব্যবহার করতে পারি, তবে আমি ভাবছিলাম যে কোনও "ওয়ান-শট" সরঞ্জাম উপলব্ধ আছে কিনা (কোনও --pid বিকল্পের সাথে ট্রিকলের মতো)?


আপনি "ট্রিকল" বলতে চাচ্ছেন?
হলপ

সম্পাদনা: আমি ধরেছিলাম "ট্রিকল" উদ্দেশ্য ছিল।
স্টিভেন সোমবার

উত্তর:


3

দুর্ভাগ্যক্রমে ফ্রিবিএসডি-তে এর কোনও সমাধান নেই। ডমিমেট / আইপিএফডাব্লু বা এলএইডকিউ / পিএফ এর মতো অনেকগুলি সমাধান রয়েছে যা বিভিন্ন প্যাটার্নের ভিত্তিতে নেটওয়ার্কের ব্যবহার সীমিত করতে ব্যবহৃত হয় তবে পিডের উপর না।

লিনাক্সটিতে ব্যবহারকারীর ভিত্তিতে নেটওয়ার্কের ব্যবহার সীমিত করার একটি উপায় রয়েছে:

iptables -t mangle -A OUTPUT -p tcp -m owner --uid-owner test -j MARK --set-mark 1

আমি মনে করি পিডের উপর ভিত্তি করে নেটওয়ার্কের ব্যবহার সীমাবদ্ধ করার কোনও সমাধান নেই।


2
ফ্রিবিএসডি-র আইপিএফডাব্লু ইউআইডি
জেলরেন

1

প্রকল্পটি যে নেটওয়ার্ক পোর্টগুলি ব্যবহার করছে তা পাওয়ার প্রক্রিয়াটি lsof করুন। একবার আপনি যখন জানবেন কোন বন্দরগুলি ব্যবহার করা হচ্ছে আপনি এই বন্দরগুলি সীমাবদ্ধ করতে আইপিটিবেলস বিধিগুলি ব্যবহার করতে পারেন। এই নিবন্ধগুলিতে আপনাকে আরও ভাল ধারণা দেওয়া উচিত: http://linux-ip.net/articles/Traffic-Control-HOWTO/ http://blog.edseek.com/~jasonb/articles/traffic_shaping/ http: // wikis। sun.com/pages/viewpage.action?pageId=49906332


0

লিনাক্সে, এমনকি iptables এবং tc এর সংমিশ্রণও একটি কঠিন সমস্যা হতে পারে, যেহেতু "--pid-Owner" বিকল্পটি "মালিক" iptables মডিউল থেকে ছেড়ে দেওয়া হয়েছিল ( এখানে টেবিলের নীচে নোট দেখুন )। প্রকৃতপক্ষে, কেবলমাত্র এই সমিতিটি (প্যাকেট - প্রক্রিয়া) জটিল বলে মনে হচ্ছে, অন্যদিকে আমরা খুব সহজেই বাকীগুলি অর্থাৎ ফিল্টার এবং প্যাকেটগুলি বেশ দক্ষতার সাথে সীমাবদ্ধ করতে পারি।


0

আমি মনে করি না যে এটির জন্য প্রস্তুত সমাধান রয়েছে। তবে, স্ট্যান্ডার্ড লিনাক্স সরঞ্জামগুলি ব্যবহার করে আপনি কোনও স্ক্রিপ্ট হ্যাক করতে পারেন যা এটি করবে।

প্রথমে, আপনি lsof এর সাথে নির্দিষ্ট প্রক্রিয়াটির সমস্ত সংযোগের একটি তালিকা পেতে পারেন। তারপরে, আপনি সেই সংযোগগুলির জন্য টিসি দিয়ে ইনগ্রিং নীতি তৈরি করতে পারেন।


0

অদ্ভুতভাবে, আপনি যদি প্রক্রিয়াটি +২০ তে নেমে যান তবে সিস্টেমে চলমান অন্য যে কোনও কিছুই অগ্রাধিকার পাবে এবং চাকরিটি প্রায়শই কম সময় নির্ধারিত হবে, সুতরাং বাফারগুলি বা প্রক্রিয়া প্যাকেটগুলি পূরণ করা আরও কঠিন হবে, যার ফলে কিছুটা টিসিপি বাড়ে থ্রোটলিং। এটি বিক্ষিপ্ত হবে, তবে যথেষ্ট সাহায্য করতে পারে।

# renice 20 -p $pid

1
এটি ব্যান্ডউইথকে নিয়ন্ত্রণ করার চেষ্টা করার একটি খুব চক্রাকার পদ্ধতি এবং সিস্টেমটি খুব ভারীভাবে লোড হলেই কেবল কাজ করবে - একটি নিষ্ক্রিয় সিস্টেমে ই -20-এর ভাড়া নেওয়া একটি প্রক্রিয়া এখনও যতবার ইচ্ছা সিপিইউতে আসবে।
voretaq7

ঠিক আছে, তবে এটি যদি অন্য স্থানীয় কম্পিউটারের সাথে ব্যান্ডউইদথ ভাগ করে না নেয়, তবে মেশিনটি যদি নিষ্ক্রিয় থাকে তবে আপনি যদি বেশিরভাগ ক্ষেত্রেই এই প্রক্রিয়াটি সমস্ত ব্যান্ডউইথ পেয়ে থাকেন তবে যত্নশীল হবেন না। এটি তখনই যখন অন্য প্রক্রিয়া থাকে যা ব্যান্ডউইদথটি ব্যবহার করার চেষ্টা করে it আমরা "খুব ভারী লোডযুক্ত" এর বিভিন্ন সংজ্ঞা এড়াতে পারি - যদি অন্য কোনও প্রক্রিয়া চালানোর চেষ্টা করা হয় তবে এটি অগ্রাধিকার পায় এবং তাই যদি লোডের গড় প্রতি> = 1 প্রতি कोर হয় তবে এটি সাহায্য করতে পারে। আমি নোট করেছি যে এটি অপরিশোধিত তবে এটি যদি কেবলমাত্র উপলভ্য সরঞ্জাম (ফ্রিবিএসডি) হয় তবে কমপক্ষে এটির জন্য একটি শটও মূল্যবান।
ফিল পি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.