আমার একটি স্যুইচে 10GbE সংযোগ সহ একটি সার্ভার এবং একই স্যুইচটিতে 1GbE সংযোগ সহ 10 জন ক্লায়েন্ট রয়েছে।
প্রতিটি ক্লায়েন্টের সাথে সমান্তরালভাবে নিউটসিপি চালানো, আমি তারের গতির কাছাকাছি সময়ে একই সাথে সার্ভারে 10 টিসিপি তথ্য প্রবাহ ঠেলাতে পারি (অর্থাত্ একসাথে সমস্ত 10 ক্লায়েন্টের থেকে প্রতি সেকেন্ডে 100 মেগাবাইট লাজুক)।
যাইহোক, আমি যখন দিকটি উল্টে এবং ক্লায়েন্টগুলিতে সার্ভার থেকে ডেটা প্রেরণ করি - যেমন, 10 টিসিপি স্ট্রিম, প্রতিটি ক্লায়েন্টের কাছে একটি - টিসিপি পুনঃপ্রেরণ আকাশচুম্বী হয় এবং পারফরম্যান্স 30, 20 বা এমনকি 10 সেকেন্ডে প্রতি মেগাবাইটে নেমে যায় প্রতি ক্লায়েন্ট আমি এই সংখ্যাগুলি পেতে চাই, কারণ এই ট্র্যাফিক প্যাটার্নটি আমি নির্দিষ্ট কিছু অ্যাপ্লিকেশনগুলির প্রতিনিধি।
আমি যাচাই করেছি যে আমার সার্ভার একই সার্ভারের সাথে 10GbE সংযোগের মাধ্যমে একই পরীক্ষা চালিয়ে 10GbE লিঙ্কটি স্যাচুরেট করতে সক্ষম। আমি যাচাই করেছি যে আমার কোনও বন্দরটিতে কোনও ত্রুটি নেই।
অবশেষে, আমি যখন রিসিভারের টিসিপি উইন্ডো আকারটি জোর করে চাপড় (সীমাবদ্ধ করি) করি, তখন আমি ব্যান্ডউইদথ কিছুটা বেশি (30-40 মেগাবাইট / সেকেন্ড) পেতে পারি; এবং যদি আমি এটি অত্যন্ত কম বাতাবরণ করি তবে আমি পুনঃপ্রেরণাগুলি শূন্যে পেতে পারি (ব্যান্ডউইথ প্রশংসনীয়ভাবে কম)।
সুতরাং আমি দৃ confident়ভাবে আত্মবিশ্বাসী যে আমি আমার সুইচে বাফারগুলিকে ছাড়িয়ে যাচ্ছি, ফলে ভিড়ের কারণে প্যাকেট নষ্ট হবে। যাইহোক, আমি ভেবেছিলাম টিসিপি'র ভিড় নিয়ন্ত্রণটি এটিকে সুন্দরভাবে মোকাবেলা করার কথা ছিল, অবশেষে তারের গতিতে 50% এরও বেশি কিছুতে স্থিতিশীল করা।
সুতরাং আমার প্রথম প্রশ্নটি খুব সহজ: কোন টিসিপি কনজেশন নিয়ন্ত্রণ অ্যালগরিদম আমার পরিস্থিতির জন্য সবচেয়ে ভাল হবে? তাদের মধ্যে একটি টন উপলব্ধ আছে, তবে তারা বেশিরভাগই ক্ষতিকারক নেটওয়ার্ক বা উচ্চ-ব্যান্ডউইথ উচ্চ-ল্যাটেন্সি নেটওয়ার্ক বা ওয়্যারলেস নেটওয়ার্কগুলিকে লক্ষ্য করে বলে মনে হচ্ছে ... যার কোনওটিই আমার পরিস্থিতির ক্ষেত্রে প্রযোজ্য না।
দ্বিতীয় প্রশ্ন: আমি চেষ্টা করতে পারি অন্য কিছু আছে?