সিঙ্গাপুর, লন্ডন এবং লস অ্যাঞ্জেলেস - বিশ্বের কয়েকটি প্রধান স্থানে আমরা অবকাঠামো বিতরণ করেছি। যে কোনও দুটি জায়গার মধ্যে আরটিটি 150 মিটারের বেশি।
আমরা সম্প্রতি 1 জিবিপিএস লিঙ্কগুলি ব্যবহার করার জন্য সমস্ত সার্ভারগুলিকে আপগ্রেড করেছি (100 এমবিপিএস থেকে)। আমরা বিভিন্ন স্থানে সার্ভারগুলির মধ্যে কয়েকটি টিসিপি-ভিত্তিক পরীক্ষা চালিয়ে যাচ্ছি এবং কিছু বিস্ময়কর ফলাফল দেখেছি। এই ফলাফলগুলি সম্পূর্ণ পুনরাবৃত্তিযোগ্য।
- লস অ্যাঞ্জেলেস (100 এমবিপিএস) থেকে লন্ডন (100 এমবিপিএস): M 96 এমবিপিএস থ্রুপুট
- লস অ্যাঞ্জেলেস (100 এমবিপিএস) লন্ডন (1 জিবিপিএস): M 96 এমবিপিএস থ্রুপুট
- লস অ্যাঞ্জেলেস (1 জিবিপিএস ) থেকে লন্ডন (100 এমবিপিএস ): 10-40 এমবিপিএস থ্রুপুট (অস্থির)
- লস অ্যাঞ্জেলেস (1 জিবিপিএস ) থেকে লন্ডন (1 জিবিপিএস ): 10-40 এমবিপিএস থ্রুপুট (অস্থির)
- লস অ্যাঞ্জেলেস (1 জিবিপিএস) থেকে লস অ্যাঞ্জেলেস (1 জিবিপিএস):> 900 এমবিপিএস থ্রুপুট
দেখা যাচ্ছে যে প্রেরক যখনই 1 জিবিপিএস চালাচ্ছেন, দীর্ঘ লিঙ্কগুলিতে আমাদের থ্রুপুট খুব তাৎপর্য সহ্য করে।
পূর্ববর্তী পরীক্ষার পদ্ধতিটি অত্যন্ত সহজ - আমি কেবলমাত্র সার্ভার থেকে 1 জিবি বাইনারি ডাউনলোড করতে সিআরএল ব্যবহার করছি (সুতরাং উপরের ক্ষেত্রে, সিআরএল ক্লায়েন্ট লন্ডন সার্ভারে চলে এবং এলএ থেকে ডাউনলোড করে, যাতে এলএ প্রেরক হয়) । এটি অবশ্যই একক টিসিপি সংযোগ ব্যবহার করছে।
আইপিএফ ব্যবহার করে ইউডিপিতে একই পরীক্ষাগুলির পুনরাবৃত্তি করা, সমস্যাটি অদৃশ্য হয়ে যায়!
- লস অ্যাঞ্জেলেস (100 এমবিপিএস) থেকে লন্ডন (100 এমবিপিএস): M 96 এমবিপিএস থ্রুপুট
- লস অ্যাঞ্জেলেস (100 এমবিপিএস) লন্ডন (1 জিবিপিএস): M 96 এমবিপিএস থ্রুপুট
- লস অ্যাঞ্জেলেস (1 জিবিপিএস) থেকে লন্ডন (100 এমবিপিএস): M 96 এমবিপিএস থ্রুপুট
- লস অ্যাঞ্জেলেস (1 জিবিপিএস) থেকে লন্ডন (1 জিবিপিএস):> 250 এমবিপিএস থ্রুপুট
এটি আমার চোখে কিছু টিসিপি বা এনআইসি / পোর্ট কনফিগারেশন ইস্যুতে বর্গক্ষেত্র নির্দেশ করে।
উভয় সার্ভার টিসিপি কিউবিক সহ সেন্টোস 6.x চলছে running উভয়েরই 8MB সর্বাধিক টিসিপি উইন্ডোজ প্রেরণ এবং গ্রহণ করে এবং টিসিপি টাইমস্ট্যাম্প এবং নির্বাচনী স্বীকৃতি সক্ষম করেছে। সমস্ত টেস্ট ক্ষেত্রে একই টিসিপি কনফিগারেশন ব্যবহৃত হয়। সম্পূর্ণ টিসিপি কনফিগারেশন নীচে রয়েছে:
net.core.somaxconn = 128
net.core.xfrm_aevent_etime = 10
net.core.xfrm_aevent_rseqth = 2
net.core.xfrm_larval_drop = 1
net.core.xfrm_acq_expires = 30
net.core.wmem_max = 8388608
net.core.rmem_max = 8388608
net.core.wmem_default = 131072
net.core.rmem_default = 131072
net.core.dev_weight = 64
net.core.netdev_max_backlog = 1000
net.core.message_cost = 5
net.core.message_burst = 10
net.core.optmem_max = 20480
net.core.rps_sock_flow_entries = 0
net.core.netdev_budget = 300
net.core.warnings = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_retrans_collapse = 1
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_tw_buckets = 262144
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 15
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.tcp_stdurg = 0
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_fack = 1
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_ecn = 2
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_mem = 1528512 2038016 3057024
net.ipv4.tcp_wmem = 4096 131072 8388608
net.ipv4.tcp_rmem = 4096 131072 8388608
net.ipv4.tcp_app_win = 31
net.ipv4.tcp_adv_win_scale = 2
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_frto = 2
net.ipv4.tcp_frto_response = 0
net.ipv4.tcp_low_latency = 0
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_tso_win_divisor = 3
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_abc = 0
net.ipv4.tcp_mtu_probing = 0
net.ipv4.tcp_base_mss = 512
net.ipv4.tcp_workaround_signed_windows = 0
net.ipv4.tcp_dma_copybreak = 4096
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_available_congestion_control = cubic reno
net.ipv4.tcp_allowed_congestion_control = cubic reno
net.ipv4.tcp_max_ssthresh = 0
net.ipv4.tcp_thin_linear_timeouts = 0
net.ipv4.tcp_thin_dupack = 0
কয়েকটি পরীক্ষার ক্ষেত্রে ওয়্যারশার্ক আইও গ্রাফের কয়েকটি চিত্র সংযুক্ত করা হয়েছে (দুঃখিত, আমি সরাসরি চিত্রগুলি পোস্ট করতে পারি না):
পরীক্ষার কেস 1 (100 এমবিপিএস -> 100 এমবিপিএস) - দুর্দান্ত মসৃণ স্থানান্তর। ক্যাপচারে কোনও ক্ষয়ক্ষতি নেই। - http://103.imagebam.com/download/dyNftIGh-1iCFbjfMFvBQw/25498/254976014/100m.png
পরীক্ষার কেস 3 (1 জিবিপিএস -> 100 এমবিপিএস ) - ভোটেলে ট্রান্সফার, কোনও গতি পেতে অনেক সময় নেয় - কখনও 100 এমবিপিএসের কাছে যায় না। তবুও কোনও ক্ষতি / পুনর্বাসনে বন্দী! - http://101.imagebam.com/download/KMYXHrLmN6l0Z4KbUYEZnA/25498/254976007/1g.png
সুতরাং সংক্ষেপে, যখন 1 জিবিপিএস সংযোগের সাথে একটি দীর্ঘ লিঙ্ক ব্যবহৃত হয়, আমরা যখন 100 এমবিপিএস সংযোগ ব্যবহার করি তখন তার চেয়ে অনেক কম টিসিপি থ্রুটপুট পাই।
আমি কোনও টিসিপি বিশেষজ্ঞের কাছ থেকে কিছু পয়েন্টারকে খুব প্রশংসা করব!
ধন্যবাদ!
আপডেট (2013-05-29):
আমরা পরীক্ষার কেস # 4 উপরে সমস্যাটি সমাধান করেছি (1 জিবিপিএস প্রেরক, 1 জিবিপিএস রিসিভার, একটি বৃহত্তর আরটিটি-র উপরে)। স্থানান্তর শুরুর কয়েক সেকেন্ডের মধ্যে আমরা এখন 970 এমবিপিএস হিট করতে পারি। সমস্যাটি হোস্টিং সরবরাহকারীর সাথে ব্যবহৃত একটি স্যুইচ বলে মনে হচ্ছে । অন্য কোনওটিতে চলে যাওয়া সমাধান করে।
তবে, পরীক্ষার কেস # 3 বেশিরভাগ ক্ষেত্রেই সমস্যা থেকে যায়। যদি আমাদের কাছে রিসিভারটি 100 এমবিপিএস এবং প্রেরক 1 জিবিপিএসে চলমান থাকে, তবে আমরা রিসিভারটি 100 এমবিপিএসে পৌঁছানোর জন্য প্রায় ২-৩ মিনিটের জন্য অপেক্ষা করতে দেখি (তবে এটি এখন আগের তুলনায় সম্পূর্ণ হারে পৌঁছায়)। যত তাড়াতাড়ি আমরা প্রেরককে 100 এমবিপিএসে নামিয়ে আনব বা রিসিভারটি 1 জিবিপিএসে বাড়িয়ে দেব, তারপরে সমস্যাটি অদৃশ্য হয়ে যায় এবং আমরা এক বা দ্বিতীয় মধ্যে পুরো গতিতে র্যাম্প করতে পারি।
অন্তর্নিহিত কারণ হ'ল স্থানান্তর শুরুর খুব শীঘ্রই আমরা অবশ্যই ক্ষতিগুলি দেখছি। তবে ধীর-সূচনাটি কীভাবে কাজ করে তা আমার বোঝার সাথে এটি মিলছে না; ইন্টারফেসের গতিতে এর কোনও প্রভাব থাকতে হবে না, কারণ এটি রিসিভারের এসি দ্বারা পরিচালিত হওয়া উচিত।
পরামর্শ কৃতজ্ঞভাবে প্রাপ্ত হয়েছে দয়া করে! আমি যদি এখানে কোনও অনুদানের প্রস্তাব দিতে পারি, আমি করতাম!
tcp_*mem = 4096 1048576 33554432
আপনি যে 1 জিবিপি লিঙ্কগুলিতে জাম্বো ফ্রেমগুলি সক্ষম করেন নি? এটি কোথাও ওভারহেডের টুকরো টুকরো করার কারণ হতে পারে।