উচ্চ-ব্যান্ডউইথ সংযোগের জন্য একটি (খুব) বৃহত আরকিডব্লিউড সেট করার জন্য কি ডাউনসাইডগুলি সম্ভব?


9

আমি লিনাক্সের টিসিপি পরামিতিগুলির সাথে পরীক্ষা করছিলাম (3.5 কার্নেল সহ)। মূলত এই সংযোগ সম্পর্কে:

সার্ভার: ডেটাসেন্টারে গিগাবিট আপলিংক, প্রকৃত ব্যান্ডউইদথ (আপলিংকগুলি ভাগ করে নেওয়ার কারণে) প্রায় 70 এমবি / সেকেন্ড হয় যখন অন্য কোনও ডাটাসেন্টার থেকে পরীক্ষা করা হয়।

ক্লায়েন্ট: গিগাবিট লোকাল ল্যান 200 মিমি ফাইবারের সাথে সংযুক্ত। একটি পরীক্ষা-ফাইল আনা আসলে 20 এমবি / সেকেন্ড অর্জন করে।

লেটেন্সি: প্রায় 50 মিমি রাউন্ডট্রিপ।

রিমোট সার্ভারটি 10 ​​থেকে 100 মিমি অবধি ফাইলগুলির জন্য ফাইলসভার হিসাবে ব্যবহৃত হয়। আমি লক্ষ্য করেছি যে এই ফাইলগুলির জন্য ট্রান্সফার-টাইম 10-এর ব্যবহার টিসিপি স্লো-স্টার্ট দ্বারা তীব্রভাবে প্রভাবিত হয়, 10 এমবি লোড করতে 3.5 সেকেন্ড সময় নেয় (শীর্ষ গতিতে পৌঁছেছে: 3.3 মেগাবাইট / সে) কারণ এটি ধীর শুরু হয় এবং তারপরে র‌্যাম্পগুলি আপ হয় সর্বাধিক গতি পৌঁছানোর আগেই সমাপ্ত। আমার লক্ষ্যটি হ'ল সেই ফাইলগুলির ন্যূনতম লোড-টাইমগুলির জন্য টিউন করা (তাই সর্বোচ্চ কাঁচা থ্রুপুট বা সর্বনিম্ন রাউন্ডট্রিপ ল্যাটেন্সি নয়, যদি ফাইলটি লোড করতে প্রকৃত সময়টি হ্রাস পায় তবে আমি উভয়ই ত্যাগ করতে প্রস্তুত)

সুতরাং আমি অন্য কোনও সংযোগ এবং অন্যের উপর সম্ভাব্য প্রভাব উপেক্ষা করে আদর্শ আরম্ভিক কী হওয়া উচিত তা নির্ধারণের জন্য একটি সাধারণ গণনার চেষ্টা করেছি। ব্যান্ডউইথ-বিলম্ব-পণ্যটি 200 এমবিট / এস * 50 মিমি = 10 এমবিট বা 1.310.720 বাইট। আরআরসিডব্লিউড এমএসএসের ইউনিটগুলিতে সেট করা আছে এবং এমএসএস প্রায় 1400 বাইট হিসাবে ধরে নিয়েছে এটি বিবেচনা করে এর জন্য একটি সেটিং প্রয়োজন হবে: 1.310.720 / 1400 = 936

এই মানটি ডিফল্ট (লিনাক্সে 10 * এমএসএস, উইন্ডোজে 64৪ কেবি) থেকে অনেক দূরে, সুতরাং এটি এটি সেট করা ভাল ধারণা বলে মনে হয় না। এটির মতো কনফিগার করার প্রত্যাশিত ডাউনসাইডগুলি কী কী? উদাহরণ:

  • এটি একই নেটওয়ার্কের অন্যান্য ব্যবহারকারীর উপর প্রভাব ফেলবে?
  • এটি অন্যান্য সংযোগগুলির জন্য অগ্রহণযোগ্য যানজট তৈরি করতে পারে?
  • কোথাও কোথাও বন্যার রাউটার-বাফার?
  • ক্ষুদ্র পরিমাণের প্যাকেট-ক্ষতির প্রভাব বাড়বে?

1
আপনি কি মেগাবাইট না বলার পরে মেগাবাইট / গুলি কথা বলছেন তা নিশ্চিত করতে পারবেন 70 MB/s? শুধু স্পষ্টতা খুঁজছি।
অ্যান্ডি শিন

হ্যাঁ, মেগাবাইট / গুলি মেগাবাইট নয়।
টমাস

আমি যদি আপনি হতাম তবে আমি এটি কয়েক বার (10, 20, 40, 80, ...) দিয়ে গুণ করার চেষ্টা করব এবং এটি কীভাবে আপনার সাধারণ ডাউনলোডের সময়ের উন্নতি করে তা দেখুন
এমভিপি

উত্তর:


1

এটির মতো কনফিগার করার প্রত্যাশিত ডাউনসাইডগুলি কী কী? উদাহরণ:

Will it affect other users of the same network?

Initcwnd পরিবর্তন প্রভাবিত করবে:

  • সার্ভারের ব্যবহারকারীরা সেটিংস পরিবর্তন করে
  • যদি সেই ব্যবহারকারীরা রুটের সাথে মেলে সেটিংস পরিবর্তনটি কনফিগার করা থাকে।
Could it create unacceptable congestion for other connections?

অবশ্যই।

Flood router-buffers somewhere on the path?

অপ্রাসঙ্গিক নয়, তবে তারা যদি আপনার রাউটার না হয় তবে আমি আপনার নিকটবর্তী বিষয়গুলিতে মনোনিবেশ করব।

Increase the impact of small amounts of packet-loss?

অবশ্যই, এটি এটি করতে পারে।

ফলশ্রুতিটি হ'ল এটি ইচ্ছাকৃত এবং অজান্তেই প্যাকেটের ক্ষতির ব্যয়কে বাড়িয়ে তুলবে। আপনার সার্ভারটি 3-ওয়ে হ্যান্ডশেক (স্বল্প বিনিয়োগের জন্য ডেটার পরিমাণের যথেষ্ট পরিমাণে (ডেটার পরিমাণ)) সম্পূর্ণ করতে সক্ষম যে কোনও ব্যক্তির দ্বারা ডসের কাছে সহজ।

এটি সেই সম্ভাবনাগুলিও বাড়িয়ে দেবে যে এই প্যাকেটের একগুচ্ছ পুনঃপ্রেরণ প্রয়োজন হবে কারণ ফেটে থাকা প্রথম প্যাকেটগুলির একটি হারিয়ে যাবে।


ঠিক আছে, সংক্ষিপ্তসার হিসাবে: কেবলমাত্র সঠিক রুটের জন্য initcwnd সেট সহ একটি ব্যক্তিগত সার্ভারের জন্য এটি ব্যবহারকারীদের জন্য আন্তঃসংযোগের জন্য ভাল উন্নতি।
টমাস

0

আমি মনে করি না আপনি যা জিজ্ঞাসা করছেন আমি তা পুরোপুরি বুঝতে পেরেছি তাই এখানে প্রতিক্রিয়া জানানোর চেষ্টা করা হয়েছে:

প্রথমত, আপনি যা করার চেষ্টা করছেন তা কেবল প্রেরণকারী পক্ষেই বোঝা যায় এবং গ্রহণের দিকটি নয়। অর্থাৎ আপনাকে ফাইল সার্ভারটি পরিবর্তন করা দরকার, রিসিভারটি নয়। আপনি যা করছেন তা ধরে নিচ্ছেন:

(উদাহরণস্বরূপ) 10 এ initcwnd পরিবর্তন করার অর্থ 10 টি প্যাকেট তত্ক্ষণাত্ চলে যাবে। যদি এগুলি সমস্ত তাদের লক্ষ্যে পৌঁছে যায় তবে আপনি ধীরে ধীরে (সূচকীয় cwnd বৃদ্ধি) কারণে প্রথম আরটিটি-তে অনেক বড় উইন্ডোটি দিয়ে শেষ করতে পারেন। যাইহোক, প্যাকেটের ক্ষতির পরে cwnd অর্ধেক হয়ে যাবে এবং যেহেতু আপনি 10 টি প্যাকেট ফেটে যাচ্ছেন আপনার যথেষ্ট পরিমাণে পুনঃপ্রেরন হবে যাতে আপনি ভাবেন তার চেয়ে বেশি সমস্যার সাথে শেষ করতে পারেন।

আপনি যদি আরও আক্রমণাত্মক কিছু চেষ্টা করতে চান এবং সার্ভারের পাশে কনজেশন নিয়ন্ত্রণ অ্যালগরিদম পরিবর্তনের পরিবর্তে অন্য ইন্টারনেট ব্যবহারকারীদের কাছে কোনওভাবে "অভদ্র" হন be বিভিন্ন অ্যালগরিদম আলাদাভাবে cwnd হ্যান্ডেল করে। মনে রাখবেন যে আপনার সার্ভার-সাইড সফ্টওয়্যারটি এই প্রতি সংযোগগুলি পরিবর্তন না করে (যা আমি অত্যন্ত সন্দেহ) this এখানে সুবিধাটি হ'ল প্যাকেট নষ্ট হওয়ার পরেও অ্যালগরিদম কার্যকর হবে যখন ইনসিডক্ল্যান্ড খুব বেশি ভূমিকা পালন করবে না।

/ proc / sys / নেট / ipv4 / tcp_congestion_control হ'ল আপনি কনজেশন নিয়ন্ত্রণ অ্যালগরিদম পরিবর্তন করেন change

এ জাতীয় ছোট আরটিটি (50 মিমি) এবং মাঝারি বা বড় ফাইলগুলির জন্য এফডাব্লুআইডাব্লিক আপনার গড় গতি খুব বেশি প্রভাবিত করে না। যদি কোনও প্যাকেটের ক্ষতি না হয় তবে (অর্থাত ফ্যাট পাইপ) cwnd প্রতি আরটিটিতে দ্বিগুণ হবে। আরটিটি = 50 মিমি একটি ফ্যাট পাইপের উপর আপনি প্রথম সেকেন্ডে 20 টি আরটিটি ফিট করতে পারবেন, অর্থাত যে আরকিউএনডি = 2 দিয়ে আপনি 1 সেকেন্ড পরে সিডেন্ডি = 2 * 2 ^ 20 দিয়ে শেষ করবেন, যা আমি বাজি ধরেছি তার চেয়ে বেশি হাতল ;-)

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