আমার টিসিপি থ্রুটপুট ইউডিপি থ্রুটপুট থেকে অনেক বেশি কেন?


15

আমি আমার হার্ডওয়্যার বা কার্নেল কনফিগারেশনের (সমস্ত ডিফল্ট সেটিংস, টাটকা ওএস ইনস্টল, লিনাক্স কার্নেল ৩.১১ টিসিপি / আইপি স্ট্যাক) অস্বাভাবিক কিছু করি নি এবং আমি টিসিপির মাধ্যমে প্রতি সেকেন্ডে প্রায় ৩.8383 মিলিয়ন বার্তা গড় করছি যখন আমি কেবল গড় গড় করছি 0.75 ইউডিপির মাধ্যমে প্রতি সেকেন্ডে মিলিয়ন বার্তা। এটি দুটি প্রোটোকল সম্পর্কে আমার প্রত্যাশা সম্পূর্ণরূপে অস্বীকার করে বলে মনে হচ্ছে।

গুরুতর পার্থক্যের সর্বাধিক কারণ কী এবং আমি কীভাবে এটি উবুন্টু 13.10 এ সনাক্ত করতে পারি?

#TCP RESULTS
Recv   Send    Send                          Utilization       Service Demand
Socket Socket  Message  Elapsed              Send     Recv     Send    Recv
Size   Size    Size     Time     Throughput  local    remote   local   remote
bytes  bytes   bytes    secs.    10^6bits/s  % S      % S      us/KB   us/KB

87380  65536     64    10.00      1963.43   32.96    17.09    5.500   2.852

#UDP RESULTS
Socket  Message  Elapsed      Messages                   CPU      Service
Size    Size     Time         Okay Errors   Throughput   Util     Demand
bytes   bytes    secs            #      #   10^6bits/sec % SS     us/KB

4194304      64   10.00     7491010      0      383.5     28.97    24.751
212992            10.00     1404941              71.9     25.03    21.381

এই পরীক্ষার জন্য আমার কাছে দুটি পরীক্ষার সার্ভার রয়েছে যা 10G ক্রসওভার কেবলের মাধ্যমে অভিন্ন এবং সরাসরি সংযুক্ত। এই ক্ষেত্রে ব্যবহৃত এনআইসিগুলি হ'ল ইনটেল এক্স 520-এর-বক্স-অফ কনফিগারেশন এবং মাদারবোর্ডের একটি PCIe 3.0 x8 স্লটে সংযুক্ত, যা একটি NUMA কন্ট্রোলারের মাধ্যমে সিপিইউর সাথে যোগাযোগ করে।


আপনি কিভাবে মানদণ্ডটি করেছেন? আপনি এই প্যাকেজগুলি কী পাঠিয়েছেন?
ব্রায়াম

আমি netperfএকই সিপিইউতে ঠিক করা, ইউডিপিপিআরএম এবং টিসিপিপিআরআইএম পরীক্ষার জন্য, এবং 64৪ বাইট বার্তার আকারের জন্য ব্যবহার করেছি।
এলিসিএল

1
এটি @ ব্রিয়ামের প্রশ্নের উত্তর দেয় না। নেটওয়ার্ক টপোলজি হ'ল এবং বিস্তারিত পরীক্ষার পদ্ধতিটি এখানে গুরুত্বপূর্ণ।
পাভেল Šিমেরদা

1
@ পাভেলিমারদা দুঃখিত, আমি ভেবেছিলাম তিনি কেবল পরীক্ষার পদ্ধতি জিজ্ঞাসা করছেন। নেটওয়ার্ক টপোলজি সম্পর্কে, দুটি পরীক্ষার সার্ভারগুলি 10G ক্রসওভার কেবলের মাধ্যমে অভিন্ন এবং সরাসরি সংযুক্ত। এই ক্ষেত্রে ব্যবহৃত এনআইসিগুলি হ'ল ইনটেল এক্স 520-এর-বাইরের কনফিগারেশনগুলি এবং মাদারবোর্ডের একটি PCIe 3.0 x8 স্লটে সংযুক্ত, যা একটি NUMA কন্ট্রোলারের মাধ্যমে সিপিইউর সাথে যোগাযোগ করে। এটা কি তোমার প্রশ্নের উত্তর?
এলিজিএল

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

উত্তর:


29

আপনার পরীক্ষার সেটআপ সম্পর্কে বিশদ তথ্য না পাওয়া ছাড়াও মূল সমস্যাটি মনে হয়, আপনি কোনও বার্তা size৪ বাইট ব্যবহার করেন। এটি 1500 বাইটের সাধারণ এমটিইউ থেকে অনেক দূরে এবং ইউডিপিটিকে অত্যন্ত অকার্যকর করে তোলে: টিসিপি লিংকের কার্যকরী ব্যবহারের জন্য তারের একক প্যাকেটে একাধিক প্রেরণগুলিকে মার্জিত করে (টিসিপি_নোড্লে সেট করা ব্যতীত) প্রতিটি ইউডিপি বার্তায় ফলাফল হবে একটি পৃথক প্যাকেট। সংখ্যায়: 64 বাইট আকারের প্রায় 23 টি বার্তা এমটিইউ আকারের একক টিসিপি প্যাকেটে একত্রিত হবে, যখন একই পরিমাণ ডেটার জন্য ইউডিপির জন্য 23 টি একক প্যাকেটের প্রয়োজন হবে। এই প্রতিটি প্যাকেটটির অর্থ হোস্টের কাছ থেকে প্রেরণ, তারে সংক্রমণ এবং পিয়ারের মাধ্যমে গ্রহণ সহ ওভারহেড। এবং আপনার ক্ষেত্রে দেখা গেছে যে প্রায় 80% ইউডিপি প্যাকেটগুলি হারিয়ে গেছে কারণ আপনার হার্ডওয়্যার এই সমস্ত প্যাকেটগুলি প্রেরণ এবং গ্রহণের জন্য যথেষ্ট দ্রুত নয়।

সুতরাং আপনি এই মানদণ্ড থেকে যা শিখতে পারবেন তা হ'ল:

  • ইউডিপি অবিশ্বাস্য (৮০% প্যাকেটের ক্ষতি)
  • এমটিইউ এর নিচে প্যাকেট আকারের সাথে ব্যবহার করা গেলে ইউডিপি অদক্ষ
  • লিঙ্কটির সেরা ব্যবহার করতে টিসিপি অত্যন্ত অনুকূলিত

আপনার প্রত্যাশা হিসাবে, ইউডিপি ভাল হওয়া উচিত: আপনি কি কখনও ভেবে দেখেছেন যে সমস্ত বড় ফাইল স্থানান্তর (ftp, http, ...) টিসিপি ভিত্তিক প্রোটোকল দিয়ে কেন করা হয়? মানদণ্ডটি আপনাকে কারণটি দেখায়।

তাহলে লোকেরা কেন ইউডিপি আদৌ ব্যবহার করে?

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

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

1
অন্য কিছু যা ফ্যাক্টর হতে পারে তা হল টিসিপি ত্বরণ / নেটওয়ার্ক কার্ডে অফলোড (এটি যদি এটি সমর্থন করে)।
সিপিজিনিউসএমভি

1
প্যাকেট প্রেরণ গ্রহণের চেয়ে আরও কার্যকর হতে পারে, বিশেষত যদি শেষটি বাধাপ্রাপ্ত হয়।
স্টিফেন অলরিচ

1
লোকেরা এমবেডেড ডিভাইসের জন্য ইউডিপি ব্যবহার করে এটি কোনও তারের উপর দিয়ে সংগ্রহ করা ডেটা সম্প্রচার করতে এবং সংযোগ সেটআপ নিয়ে বিরক্ত না করে
ratchet freak

3
আপনি সম্ভবত পিসিআই এক্সপ্রেস বাসে আবদ্ধ IO। নেটওয়ার্ক কার্ডগুলিতে টিসিপি সেগমেন্টটি অফলোডিং সক্ষম থাকবে, সম্ভবত। এর অর্থ হ'ল টিসিপি স্থানান্তরগুলি কার্ডকে এসোন বিগ ব্লকে প্রেরণ করা হবে, তারপরে কার্ডটি কেটে টুকরো টুকরো করে প্যাকেটে ফেলে দেবে এবং তারে রাখবে। ইউডিপির জন্য কোনও সমমান নেই, সুতরাং ফলাফলটি প্রতিটি প্যাকেটের জন্য একটি পিসিআই লেনদেন হয় (এবং সমস্ত সম্পর্কিত ওভারহেড)।
অ্যালেক্স.ফরনচিচ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.