কেন একটি হার্ডওয়্যার রাউটার আরও ভাল চশমা (র‌্যাম এবং সিপিইউ) সহ লিনাক্স রাউটারের চেয়ে আরও ভাল পারফর্ম করে?


44

আমার কাছে ন্যূনতম সেন্টোস 6.3, 64 বিট 4 এনআইসি (1 জিবিপিএস) সহ গেটওয়ের চরিত্রে অভিনয় করছে, প্রত্যেকে একসাথে পাবলিক ট্র্যাফিকের জন্য এবং অন্যটি প্রাইভেটের সাথে একত্রে আবদ্ধ, যা নাটিটিং সম্পাদন করে। এটিতে 6 জিবি র‌্যাম এবং 4 লজিক্যাল কোর রয়েছে। আমরা গত দুই বছর ধরে এটি কোনও সমস্যা ছাড়াই ব্যবহার করে আসছি।

হার্ডওয়্যার রাউটারগুলির সাথে আমার কোনও অভিজ্ঞতা নেই তবে আমি শুনেছি তাদের কম র‌্যাম এবং সিপিইউ রয়েছে এবং ফ্ল্যাশ ডিস্ক ব্যবহার করে। কম হার্ডওয়্যার কনফিগারেশন সহ একটি বাক্স কীভাবে আরও বেশি র‌্যাম এবং সিপিইউযুক্ত মেশিনের চেয়ে আরও ভাল (যেমন আরও সমবর্তী সংযোগগুলি পরিচালনা করতে পারে) সম্পাদন করতে পারে?

আইওএস ব্যতীত এগুলি পরিচালনা করতে বিভিন্ন পদ্ধতি ব্যবহার করে সীমাবদ্ধ কারণগুলি কী কী?


5
হার্ডওয়্যারে প্রয়োগগুলি দ্রুত হয় তবে একই সমাধানের সফ্টওয়্যার থেকে ফার্মওয়্যার দ্রুত হয়।
এমডিপিসি

3
আপনার উল্লেখ করা "আরও ভাল চশমা" হাতের কাজের জন্য অপ্রাসঙ্গিক। অন্যান্য বৈশিষ্ট্য যা আসলে গুরুত্বপূর্ণ।
ndim

ঠিক আছে, তাই ... আপনি যা লিখেছেন তা থেকে, আমি কি ধরে নিতে পারি যে আপনার সেন্টোস ভার্চুয়াল মেশিন? ভার্চুয়াল মেশিনগুলির জন্য হাইপারভাইজার এবং অতিথি উভয় পক্ষের জন্য বিশেষ নেটওয়ার্ক অপ্টিমাইজেশনের পাশাপাশি, ভার্চুয়াল মেশিনগুলি সাধারণত এই ধরণের ভূমিকাতে ভাল না বলে পরিচিত হয় ... রাউটার / ফায়ারওয়াল হিসাবে ব্যবহারের জন্য, খালি ধাতু সর্বদা বাঞ্ছনীয়!
পাথর

আপনার কনফিগারেশনের পরামর্শ অনুসারে আপনি কি আসলেই 1 জিবিপিএস ট্র্যাফিকের পথটি নিচ্ছেন? বালি পূর্ণ একটি বেলচা সরাতে আপনি ডাম্পট্রাক ব্যবহার করতে পারেন। 6 জিবি র‌্যাম এবং 4 টি কোর মূলত কখনই রাউটারের জন্য স্পর্শ করা যায় না, আপনি এই কাজটি করার জন্য একটি ছোট ইনটেল অ্যাটম মেশিন ব্যবহার করে বিদ্যুৎ এবং র‌্যাক স্পেস সংরক্ষণ করতে পারেন।
বার্ট

উত্তর:


64

ASICs

সাধারণ উদ্দেশ্যে সিপিইউ এবং টাস্ক-নির্দিষ্ট সফ্টওয়্যার ব্যবহার না করে আপনি সফ্টওয়্যারটি এড়িয়ে যেতে পারেন এবং সিলিকনটিকে সরাসরি টাস্কটি পরিচালনা করতে পারেন।

হাই পারফরম্যান্স নেটওয়ার্কিং হার্ডওয়্যার একটি বিরাট ইন্টারনেট রাউটিং টেবিলের সাথে আইপি ঠিকানার তুলনা করা, কোনও সুইচিং সিদ্ধান্তের জন্য সিএএম টেবিলটি পরীক্ষা করা, বা এসিএলের বিপরীতে একটি প্যাকেট যাচাই করার মতো কোনও কম্পিউটারের ভারী (তবে তুলনামূলক তুলনামূলক সহজ) কাজের জন্য সফটওয়্যারের পরিবর্তে এএসআইসি ব্যবহার করে । এটি সেই সময়ের-সংবেদনশীল ক্রিয়াকলাপগুলির গতিতে এক বিরাট তফাত তৈরি করে, একটি সাধারণ-উদ্দেশ্য সিপিইউর উপর একটি উল্লেখযোগ্য সুবিধা সরবরাহ করে।


1
আমি শেনের সাথে একমত হওয়ার পরে, আমি কোনও দিন কোনও অ্যাপ্লায়েন্সের মাধ্যমে জেনেরিক সার্ভারে চলমান iptables বেছে নেব। আমার সংস্থায়, ফেডোরার উপর চলমান iptables দ্রুত, আরও নমনীয়, কনফিগার করা সহজ, সিপিইউ এবং মেমরির উপর কম কর, বুট করা দ্রুত এবং আমাদের সিসকো আসার চেয়ে সস্তা।
rvh

@ আরভিএইচ: ফায়ারওয়ালিং বা কেবল রাউটিংয়ের জন্য?
mveroone

2
এবং সামগ্রিকভাবে, 'গতি' এখানে একটি বেশ শিথিল শব্দ। আমি নিশ্চিত যে এমন অনেকগুলি পরিস্থিতি রয়েছে যেখানে কোনও পিসি এখনও এইচডাব্লু'র মতো 'দ্রুত' অপারেশন করতে পারে, বা সম্ভবত কিছুটা ধ্রুবক সময়কাল এটি এইচডাব্লুয়ের চেয়ে বেশি সময় নেয়। তবে এটি সত্যিকারের স্থিতিতে নেমে আসে এবং 'আপনার বুকের জন্য ব্যাঙ্গ' - আপনি এখনও কোনও সরঞ্জাম দিয়ে কম র্যাম / সিপিইউ কিনছেন, তবে এটি এর থেকে আরও বেশি লাভ করে, এবং কেবল স্থিতিশীলতা অর্জনের জন্য এটির প্রয়োজন কেবল তাই করে
কলিন গডসে

এই উত্তরটি বাদ দিয়ে ভুল। "চূড়ান্তভাবে" এএসআইসিস "চিৎকার করা কিছুটা নির্বোধও যে রাটগুলি নাট সাধারণ উদ্দেশ্য সিপিইউ ব্যবহার করে, যদি না আমরা চূড়ান্ত পারফরম্যান্সে যাই। এছাড়াও আসলে হার্ডওয়্যার-এনএটি-রাউটারগুলির একত্রে সংযোগগুলির সংখ্যার উপর আরও দৃ stronger় সীমা রয়েছে। ওপি-র অভিজ্ঞতাগুলি হ'ল ভুল কনফিগারেশন এবং কোনও অপারেটিং সিস্টেমের ব্যবহার যা কাজের উপযুক্ত নয়।
22:59

@ দ্যুলেড most routers that do NAT use general purpose CPUsহ্যাঁ, এটি একটি সত্য বিবৃতি, তবে এই বিষয়টি সম্পর্কে অজ্ঞ যে ডিভাইসগুলির অনেকগুলি নির্দিষ্ট ক্রিয়াকলাপগুলি ডেডিকেটেড চিপগুলিতে অফলোড করে (উপরের আমার সম্পূর্ণ উত্তরের পাঠটি স্পষ্ট করে)। NAT এবং সংযোগ ট্র্যাকিং (যা আমি সম্মত, আধুনিক ডিভাইসে ASIC তে ঘটবে না) ভাববেন না, রাউটিং টেবিলটি এবং অফলোডিং স্যুইচিংয়ের কথা ভাবেন।
শেন ম্যাডেন

12

একটি হাই-এন্ড, ডেডিকেটেড রাউটার একটি দ্রুত সিপিইউ এবং আরও র‌্যামের সাহায্যে পিসি ছাড়িয়ে যায় কারণ এটি হার্ডওয়্যারে রাউটিংয়ের আরও অনেক কিছু করতে পারে।

এটি একই কারণে a 60 গিগাবিট ইথারনেট স্যুইচ একটি ইথারনেট স্যুইচ হিসাবে অভিনয় করে 4 দ্বি-পোর্ট গিগ কার্ড সহ একটি $ 2,000 পিসি ছাড়িয়ে যেতে পারে। স্যুইচটি স্থল থেকে একটি স্যুইচ হতে নির্মিত।


3
এবং যেহেতু ডেডিকেটেড রাউটারটি কোনও ফ্ল্যাশ ডিস্কে চলছে, তাই ইনপপোর্টিউন সময়ে ব্যর্থ হওয়ার জন্য কম চলন্ত অংশ রয়েছে।
সিপিটি_ফিংক

3
আমি সত্যই নিশ্চিত নই যে তুমি ঠিক আছ। আমি নেটম্যাপের উপর ভিত্তি করে কাজ করেছি এমন একটি সংস্থার জন্য একটি খুব বেসিক অ্যান্টি-ডিডিওস সুরক্ষা তৈরি করেছি ( তথ্য.ইট.উনিপি.আইটি / আলেজি / নেটম্যাপ ) এবং এটি সাধারণ হার্ডওয়্যারেও (সত্যিই পূর্ণ 1 জিবি / এস বা 11 এম) খুব ভাল অভিনয় করেছে প্যাকেট / সেকেন্ড)। সেই সাইটে নেটম্যাপের জন্য ওপেনসুইচের একটি সংস্করণ রয়েছে যা "নরমাল" হার্ডওয়্যারে 3 এম প্যাকেট / সেকেন্ড ফরোয়ার্ড করতে পারে, আমি এটি করতে পারি এমন কোনও সস্তা (500 $) সুইচ জানি না, তবে আমি ভুল হতে পারি।
XzKto

2
@ এক্সজেট্টো একটি সাধারণ সস্তা ($ 60) 5 পোর্ট জিগইই সুইচ সম্পূর্ণ তারের গতিতে পোর্টগুলির সমস্ত সংমিশ্রনের মধ্যে প্যাকেট ফরোয়ার্ড করতে পারে। এগুলি সাধারণত একটি পূর্ণ, অ-অবরুদ্ধ ক্রসবার ব্যবহার করে।
ডেভিড শোয়ার্টজ

@ XzKto ডেভিডের অর্থ কী, পিসির বিপরীতে যা "তার নিজের ইন্টারফেসের মাধ্যমে" গতি পরিচালনা করবে, পোর্ট-টু-পোর্টের প্রতিটি সংমিশ্রনের জন্য যদি স্যুইচটি করে। আপনার হোস্ট 1 এর সাথে হোস্ট 2, এবং 3 থেকে 4 এবং প্রতিটি সংযোগ ফুল ডুপ্লেক্স এবং সর্বাধিক থ্রুপুট এ থাকতে পারে । আপনি এটি মারতে পারবেন না। (এবং আরও অর্থের জন্য, আরও বন্দর, এটি কেন দ্রুত হয় তা আরও সহজ) এবং রাউটারের জন্য, এটি একধরনের অনুরূপ: হার্ডওয়্যার সফ্টওয়্যারটির চেয়ে দ্রুত পুনরায় উদ্বেগ করতে সক্ষম হবে, পর্যাপ্ত তথ্য পাওয়ার সাথে সাথে এটি পুনরায় তৈরি করতে সক্ষম হবে (আপনার লিনাক্স রাউটার প্রতিটি স্তরে এটি করবে, তবে সেখানে পৌঁছানো ইতিমধ্যে ধীর হবে)
অলিভিয়ার ডুলাক

11

"আইওএস ছাড়া অন্য"?

আইওএস প্রায় সমস্ত পার্থক্য তৈরি করে। CentOS একটি সাধারণ উদ্দেশ্যমূলক অপারেটিং সিস্টেম। এটি বিভিন্ন হার্ডওয়্যার কনফিগারেশনের বিস্তৃত অ্যারের ব্যবহার করে একটি বিস্তৃত পরিসরের অধীনে যথেষ্ট ভাল সম্পাদন করার জন্য ডিজাইন করা হয়েছে। অন্যদিকে আইওএস আপনি সিসকো গিয়ারে পাবেন এমন নির্দিষ্ট ধরণের হার্ডওয়্যার ব্যবহার করে এক ধরণের নেটওয়ার্ক সরঞ্জাম থেকে আপনি যে ধরণের কাজের চাপ আশা করবেন তা পরিচালনা করার জন্য অত্যন্ত সুরক্ষিত।

আপনি ঠিক কত টুকরো হার্ডওয়্যারের জন্য প্রোগ্রামিং করছেন তা জেনে রাখা পারফরম্যান্স বনাম সামঞ্জস্যের দিক থেকে আপনাকে অনেক দীর্ঘ পথ নিয়ে যাবে।


3
+1 টি। সিসকোতে ইঞ্জিনিয়ারিংয়ের সংস্থান রয়েছে এবং যখন প্রয়োজন হয় তখন হার্ডওয়্যার দিয়ে সফ্টওয়্যারটি কীভাবে প্রতিস্থাপন করা যায় তা নিশ্চিত করুন । অর্থ, যদি কোনও বিশেষ ক্রিয়াকলাপ সফ্টওয়্যারগুলির চেয়ে ধীর হয় তবে তারা একটি এএসআইসিকে ইঞ্জিনিয়ারিংয়ের প্রচেষ্টা করতে পারে, তাদের বিদ্যমান প্রসেসিং ইউনিটগুলিতে নির্দেশনা যুক্ত করতে পারে, বা এটির গতি বাড়ানোর জন্য একটি হার্ডওয়্যার মডিউল তৈরি করতে পারে। যখন আপনার কাছে সফ্টওয়্যার এবং হার্ডওয়্যার উভয়ই নিয়ন্ত্রণ করার বিলাসিতা থাকে তখন টেবিলগুলি পারফরম্যান্সের পক্ষে অপ্রতিরোধ্যভাবে টিপ দেয় ।
জাস্টিন ᚅᚔᚈᚄᚒᚔ

এটি উভয় উপায়েও কাজ করে। হার্ডওয়্যারটি বিরল, জটিল ক্ষেত্রেও মোকাবেলা করার দরকার নেই। এটি কেবল তাদের সফ্টওয়্যারটিতে ফেলে দেয়। রাউটিং লুপস? কীভাবে তাদের সাথে ডিল করতে হয় তা হার্ডওয়্যার থেকে বের করার চেষ্টা করবেন না।
এমসাল্টারস

4

সফ্টওয়্যার এবং হার্ডওয়্যার উভয়েরই কিছু বলার আছে। আমার কাছে জেনেরিক সার্ভার হার্ডওয়্যারের সাথে ইন্টেল এবং টিপি-লিংক এনআইসি (যা এর অন্তরে একটি রিয়েলটেক চিপ ব্যবহার করে), পাশাপাশি রাউটিংয়ে উদ্দেশ্য-নির্মিত এবং জেনেরিক-উদ্দেশ্য সফ্টওয়্যারের তুলনা রয়েছে।

হার্ডওয়্যার দিকে, বোর্ডে ASIC যদি আইপি ট্র্যাফিকের কিছু পরিচালনা করতে পারে তবে প্রসেসরের লোড কম এবং এইভাবে দ্রুত হতে পারে। আমি লক্ষ্য করেছি যে দুটি জাহাজের ইনটেল এনআইসি চিপ সরাসরি ডিএমএর সাথে যোগাযোগ করছে, প্যাকেট ফরোয়ার্ডিং পরিচালনা করার ক্ষেত্রে প্রধান সিপিইউ বাইপাস করে; এরই মধ্যে রিয়েলটেক চিপ যখনই কোনও প্যাকেট আসবে বাধা দেয়।

সফ্টওয়্যার দিকে, যদি সফ্টওয়্যারটি রাউটিংয়ে ব্যবহারের জন্য ডিজাইন করা হয় তবে এটি আরও দক্ষ করা যায়। আমি পিএফসেন্স + পিএফ (একটি পরিবর্তিত ফ্রিবিএসডি রাউটার হিসাবে ব্যবহারের উদ্দেশ্যে) এবং জেনেরিক-উদ্দেশ্য উবুন্টু 12.04 + আইপটেবলগুলি রাউটিং সফটওয়্যার হিসাবে ব্যবহার করেছি এবং প্রথম স্পষ্টভাবে ট্র্যাফিকটি আরও দ্রুত স্যুইচ করেছি। (উবুন্টু ১৪.০৪ এখন প্রায় তত দ্রুত, লিনাক্স ৩.১nel কার্নেলের নতুন এনফটেবলের জন্য ধন্যবাদ।)

তবে ডেডিকেটেড রাউটারের একটি বড় ত্রুটি রয়েছে: এটি ট্র্যাফিক স্যুইচিংয়ের চেয়ে বেশি কিছু করতে পারে না এবং এটি ভার্চুয়ালাইজ করা যায় না। আমার বর্তমান প্রান্ত রাউটারটি আমার ESXi ক্লাস্টারের অভ্যন্তরে উবুন্টু 14.04 চলমান একটি ভার্চুয়াল মেশিন এবং এটি একটি অনুপ্রবেশ সনাক্তকরণ সিস্টেম এবং লোড ব্যালেন্সার হিসাবেও কাজ করে।


3

আফাইক, এটি সাধারণ উদ্দেশ্যে অপারেটিং সিস্টেমের ওভারহেড; আপনার সংযোগগুলি কত তাড়াতাড়িই নির্বিশেষে, প্যাকেটগুলি কার্নেলের প্রসঙ্গে প্যাকেট বাই প্যাকেটের ভিত্তিতে ডিল করা হয়, সিস্টেমে দীর্ঘতরতা এবং স্ট্রেন বৃদ্ধি করে। আমি বিশ্বাস করি এটির চেয়ে ভাল উত্তরগুলির উত্তর আগেই ব্যাখ্যা করা হয়েছে।

এই বলে যে, জনপ্রিয়তা এবং সম্ভাব্যতা বৃদ্ধির প্রতিশ্রুতিবদ্ধ নতুন "ইশ" প্রযুক্তি রয়েছে যা লিনাক্স সিস্টেমের সাথে আরও অন্যান্য ক্ষেত্রে আরও শক্তিশালী প্রতিযোগী তৈরি করতে পারে; অর্থাত্ ইনফিনিব্যান্ড

স্ট্যাকওভারফ্লোতে নিম্নলিখিত প্রশ্নোত্তরটি দেখুন: টিসিপি কার্নেল-বাইপাস কীভাবে কার্যকর করা হয়

আরও পড়া:


2

এটি সাধারণত লিনাক্সের বাইরে নেটওয়ার্কের স্ট্যাক / ডিভাইস কনফিগারেশনের অভাবে হয়। প্রায় 90% ক্ষেত্রে আপনার নেটওয়ার্ক ট্র্যাফিক সিপিইউ 0 দ্বারা প্রক্রিয়াজাত করা হয় অন্যদিকে অলস অবস্থায় থাকে। আপনি যদি এই সমস্যার সমাধান করেন তবে হার্ডওয়্যার রাউটারগুলির সাথে পার্থক্যটি এতটা কঠোর হবে না যে আপনি ভাবেন। আপনার কমপক্ষে আরএসএস বা আরপিএস স্থাপন করতে হবে (সিপিইউগুলির মধ্যে ড্রাইভার / স্ট্যাক ভিত্তিক প্যাকেট প্রসেসিং বিতরণ)।

যদি আপনি সত্যিই আপনার লিনাক্স রাউটারের পারফরম্যান্সের জন্য যত্নবান হন এবং পর্যাপ্ত সময় থাকে তবে আমি আপনাকে এই নিবন্ধটি প্যাকেজক্লাউড ব্লগে পড়ার পরামর্শ দিচ্ছি (প্যাকেট সংক্রমণ সম্পর্কে নিবন্ধও রয়েছে)।

আপনার যদি বিতরণে একবার নজর দেওয়া দরকার এবং আপনি মনে করেন যে while sleep 1; do cat $some_file_in_procfs; done, সিপিইউয়ের মুখোশ মূল্যায়ন এবং ম্যানুয়াল smp_affinityলেখাটি বিরক্তিকর, আপনি সম্ভবত আমার পোষা প্রাণী-প্রকল্প নেটটিলস-লিনাক্সকে অত্যন্ত দরকারী বলে খুঁজে পেয়েছেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.