ওয়াইফাই টিসিপি আইপিএফ থ্রোপুট: 1 স্ট্রিম বনাম একাধিক স্ট্রিম?


12

ডাব্লুএলএএন আইপিএফ টিসিপি থ্রুপুট পরীক্ষায়, একাধিক সমান্তরাল স্ট্রিম আমাকে ১ টি স্ট্রিমের চেয়ে উচ্চতর থ্রুটপুট দেবে। আমি টিসিপি উইন্ডোর আকার বাড়ানোর চেষ্টা করেছি, তবে আমি এখনও মাত্র 1 টি স্ট্রিম দিয়ে সর্বোচ্চ থ্রুপুট অর্জন করতে পারি না। টিসিপি স্তরে এমন আরও কি কিছু রয়েছে যা সম্পূর্ণ লিঙ্ক ক্ষমতা ব্যবহার থেকে বাধা দিচ্ছে?


আপনি কত পার্থক্য পালন করেন? আদর্শভাবে, যদি একটি টিসিপি স্ট্রিম টি এর মাধ্যমে একটি আউটপুট সরবরাহ করে, তবে দু'জনকে পৃথকভাবে প্রতিটি টি / 2 এর একটি থ্রুপুট সরবরাহ করতে হবে।
মনোজ পান্ডে

নোট করুন যে স্ট্রিমের সংখ্যা নির্বিশেষে পুরো লিঙ্কের সক্ষমতা কখনই পৌঁছে যাবে না। ন্যূনতম [আইপি + টিসিপি] শিরোনাম সহ আইপিভি 4 চ্যানেলের দক্ষতা। 95% অর্জন করবে। Sd.wareonearth.com/~phil/net/overheadদুর্দান্ত প্রোটোকল ওভারহেড পোস্টিং দেখুন ।
জেনারেলটওয়ার্কার

@ মনোজপাণ্ডে, আমি নিশ্চিত নই যে তিনি একটি আদর্শ কেস দেখছেন ... বিশেষত যেহেতু তিনি ওয়াইফাই ব্যবহার করছেন ... আমার সন্দেহ হয় তার কিছু প্যাকেট নষ্ট হয়েছে ...
মাইক পেনিংটন

টিসিপি ওয়াই-ফাই কে সাফল্য দেয়, এটি ব্যবহার করে। যদি আপনাকে এটি ব্যবহার করতে হয় এবং আপনি স্তর 3 প্যাকেটের ক্ষয়ক্ষতি দেখতে পাচ্ছেন তবে আমি স্তরটিকে সর্বোচ্চ 2 টি পুনরায় চেষ্টা করার পরিমাণ বাড়ানোর পরামর্শ দেব, যেহেতু টিসিপি পারফরম্যান্স বিনষ্ট না করে ক্ষতিকারক লিঙ্কগুলি পরিচালনা করার জন্য ডিজাইন করা হয়নি।
BatchyX

উত্তর:


14

ডাব্লুএলএএন আইপিএফ টিসিপি থ্রুপুট পরীক্ষায়, একাধিক সমান্তরাল স্ট্রিম আমাকে ১ টি স্ট্রিমের চেয়ে উচ্চতর থ্রুটপুট দেবে। আমি টিসিপি উইন্ডোর আকার বাড়ানোর চেষ্টা করেছি, তবে আমি এখনও মাত্র 1 টি স্ট্রিম দিয়ে সর্বোচ্চ থ্রুপুট অর্জন করতে পারি না। টিসিপি স্তরে এমন আরও কি কিছু রয়েছে যা সম্পূর্ণ লিঙ্ক ক্ষমতা ব্যবহার থেকে বাধা দিচ্ছে?

আমার অভিজ্ঞতায় আপনি যদি 1 টিসিপি স্ট্রিম এবং একাধিক টিসিপি স্ট্রিমের মধ্যে উল্লেখযোগ্যভাবে পৃথক ফলাফল দেখতে পান তবে সমস্যাটি সাধারণত প্যাকেটের ক্ষতি হয়; সুতরাং টিসিপি স্তরটিতে "অন্য কিছু" হ'ল retransmission (লোয়ার-স্তর প্যাকেটের ক্ষতির কারণে)।

প্যাকেটের ক্ষতি কীভাবে একক-স্ট্রিম থ্রুপুটকে প্রভাবিত করে তা বোঝানোর জন্য আমি রান্না করা একটি উদাহরণ ...

                   [Wifi||LAN-0.0%-Loss||LAN-2.0%-Loss]
+--------------+                                        +--------------+
|              |                                        |              |
| Thinkpad-T61 |----------------------------------------| Linux Server |
|              |                                        | Tsunami      |
+--------------+                                        +--------------+
iperf client             ------------------>            iperf server
                             Pushes data

এটি এমন একটি টেবিল যা iperfক্লায়েন্ট এবং সার্ভারের মধ্যে 60 সেকেন্ডের পরীক্ষার পরীক্ষার ফলাফলগুলির সংক্ষিপ্তসার করে ... আপনি আরটিটি জিটারের (আইপিএসের উচ্চতর আরটিটি স্ট্যান্ডার্ড বিচ্যুতি) থেকে আইপিআরফের ফলাফলগুলিতে কিছুটা ভিন্নতা দেখতে পাবেন; তবে, সর্বাধিক উল্লেখযোগ্য পার্থক্যটি এসেছিল যখন আমি ক্লায়েন্টকে তারযুক্ত এনআইসি রেখে 2% ক্ষতি অনুকরণ করি। 172.16.1.56 এবং 172.16.1.80 একই ল্যাপটপ (উবুন্টু চলমান)। সার্ভারটি 172.16.1.5, ডেবিয়ান চলমান। প্যাকেট ক্ষতির অনুকরণের জন্য আমি ক্লায়েন্ট ওয়্যার্ড এনআইসিতে নেটম ব্যবহার করেছি ...

Client IP       Transport    Loss     avg RTT    RTT StdDev    TCP Streams   Tput
-----------     ----------   ----     -------    ----------    -----------   ----------
172.16.1.56     802.11g      0.0%      0.016s          42.0              1     19.5Mbps
172.16.1.56     802.11g      0.0%      0.016s          42.0              5     20.5Mbps
172.16.1.80     1000BaseT    0.0%     0.0002s           0.0              1    937  Mbps
172.16.1.80     1000BaseT    0.0%     0.0002s           0.0              5    937  Mbps
172.16.1.80     1000BaseT    2.0%     0.0002s           0.0              1    730  Mbps <---
172.16.1.80     1000BaseT    2.0%     0.0002s           0.0              5    937  Mbps

মন্তব্য প্রতিক্রিয়াগুলির জন্য সম্পাদনা করুন :

শেষ দৃশ্যে কী ঘটছে তা আপনি ব্যাখ্যা করতে পারেন (1000BaseT, 5 টি স্ট্রিম, 2.0% ক্ষতি)? প্যাকেটের ক্ষতি থাকলেও মোট থ্রুপুটটি এখনও 937 এমবিট / সেকেন্ডে স্যাচুরেটেড।

প্যাকেটের ক্ষয় শনাক্ত হলে বেশিরভাগ টিসিপি বাস্তবায়নগুলি তাদের ভিড় উইন্ডো হ্রাস করে । যেহেতু আমরা ক্লায়েন্ট থেকে সার্ভারে 2% প্যাকেট হ্রাস করার জন্য নেটিম ব্যবহার করছি , তাই ক্লায়েন্টের কিছু ডেটা বাদ পড়ে। এই উদাহরণে নেটিমের নেট ইফেক্টটি হ'ল 730 এমবিপিএসের একক-প্রবাহের গড় প্রেরণ হার। একাধিক স্ট্রিম যুক্ত করার অর্থ পৃথক টিসিপি স্ট্রিমগুলি লিঙ্কটি পরিপূর্ণ করার জন্য একসাথে কাজ করতে পারে।

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

হ্যাঁ

তদ্ব্যতীত, কোন পর্যায়ে খুব বেশি স্ট্রিমগুলি থ্রুপুটকে নেতিবাচকভাবে প্রভাবিত করতে শুরু করবে? এটি কি সীমিত মেমরি এবং / অথবা প্রক্রিয়াকরণ শক্তি দ্বারা সৃষ্ট?

আমি আরও উত্তর পরীক্ষা না করে এর উত্তর দিতে পারছি না, তবে 1GE লিঙ্কের জন্য, 5 টি সমান্তরাল স্ট্রিমের সাথে কোনও লিঙ্ক স্যাচুরেট করতে আমার কখনও সমস্যা হয়নি। টিসিপি কী পরিমাণে স্কেলযোগ্য তা আপনাকে একটি ধারণা দেওয়ার জন্য, লিনাক্স সার্ভারগুলি সঠিক পরিস্থিতিতে 1500 টিরও বেশি সমবর্তী টিসিপি সকেটগুলি পরিচালনা করতে পারে। এটি আর একটি আলোচনা যা সাম্প্রতিক টিসিপি সকেটকে স্কেল করার জন্য প্রাসঙ্গিক, তবে আমার মতে 20 টি সমান্তরাল সকেটের উপরের কিছু যদি আপনি কেবল একটি লিঙ্ক পরিপূর্ণ করার চেষ্টা করছেন তবে ওভারকিল হবে।

আমার অবশ্যই একটি ভুল বোঝাবুঝি থাকতে হবে যে আইপিএফটি উইন্ডো আকারটিকে সর্বোচ্চ হিসাবে ব্যবহার করে বলে মনে হচ্ছে আপনি এটি 21 কে প্রাথমিক মান ছাড়িয়ে বলছেন

আমি ব্যবহার করিনি iperf -w, তাই আমার মনে হয় একটি ভুল বোঝাবুঝি আছে। যেহেতু আপনার ওয়াইফাই কেস সম্পর্কে অনেক প্রশ্ন রয়েছে, তাই আমি ওয়াইফাই একক টিসিপি স্ট্রিম কেসটির জন্য টিসিপি থ্রুপুটটির একটি ওয়্যারশার্ক গ্রাফ অন্তর্ভুক্ত করছি।

ওয়াইফাই টিসিপি একক-স্ট্রিম থ্রুপুট


পরীক্ষার ডেটা

আপনি কীভাবে এই জিনিসগুলি পরিমাপ করেছেন তা আপনি দেখতে চাইলে আমি কাঁচা পরীক্ষার ডেটাও অন্তর্ভুক্ত করছি ...

802.11g, 1 টিসিপি স্ট্রিম

mpenning@mpenning-ThinkPad-T61:~$ mtr --no-dns --report \
  --report-cycles 60 172.16.1.5
HOST: mpenning-ThinkPad-T61       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 172.16.1.5                 0.0%    60    0.8  16.0   0.7 189.4  42.0
mpenning@mpenning-ThinkPad-T61:~$

[mpenning@tsunami]$ iperf -s -p 9000 -B 172.16.1.5

mpenning@mpenning-ThinkPad-T61:~$ iperf -c 172.16.1.5 -p 9000 -t 60 -P 1
------------------------------------------------------------
Client connecting to 172.16.1.5, TCP port 9000
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  3] local 172.16.1.56 port 40376 connected with 172.16.1.5 port 9000
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.1 sec   139 MBytes  19.5 Mbits/sec
mpenning@mpenning-ThinkPad-T61:~$

802.11g, 5 টিসিপি স্ট্রিম

[mpenning@tsunami]$ iperf -s -p 9001 -B 172.16.1.5

mpenning@mpenning-ThinkPad-T61:~$ iperf -c 172.16.1.5 -p 9001 -t 60 -P 5
------------------------------------------------------------
Client connecting to 172.16.1.5, TCP port 9001
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  3] local 172.16.1.56 port 37162 connected with 172.16.1.5 port 9001
[  5] local 172.16.1.56 port 37165 connected with 172.16.1.5 port 9001
[  7] local 172.16.1.56 port 37167 connected with 172.16.1.5 port 9001
[  4] local 172.16.1.56 port 37163 connected with 172.16.1.5 port 9001
[  6] local 172.16.1.56 port 37166 connected with 172.16.1.5 port 9001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  28.0 MBytes  3.91 Mbits/sec
[  5]  0.0-60.1 sec  28.8 MBytes  4.01 Mbits/sec
[  4]  0.0-60.3 sec  28.1 MBytes  3.91 Mbits/sec
[  6]  0.0-60.4 sec  34.0 MBytes  4.72 Mbits/sec
[  7]  0.0-61.0 sec  30.5 MBytes  4.20 Mbits/sec
[SUM]  0.0-61.0 sec   149 MBytes  20.5 Mbits/sec
mpenning@mpenning-ThinkPad-T61:~$

1000BaseT, 1 স্ট্রিম, 0.0% লোকসান

mpenning@mpenning-ThinkPad-T61:~$ mtr --no-dns --report \
>   --report-cycles 60 172.16.1.5
HOST: mpenning-ThinkPad-T61       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 172.16.1.5                 0.0%    60    0.2   0.2   0.2   0.2   0.0
mpenning@mpenning-ThinkPad-T61:~$

[mpenning@tsunami]$ iperf -s -p 9002 -B 172.16.1.5

mpenning@mpenning-ThinkPad-T61:~$ iperf -c 172.16.1.5 -p 9002 -t 60 -P 1
------------------------------------------------------------
Client connecting to 172.16.1.5, TCP port 9002
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  3] local 172.16.1.80 port 49878 connected with 172.16.1.5 port 9002
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  6.54 GBytes   937 Mbits/sec
mpenning@mpenning-ThinkPad-T61:~$

1000BaseT, 5 টি স্ট্রিম, 0.0% ক্ষতি

[mpenning@tsunami]$ iperf -s -p 9003 -B 172.16.1.5

mpenning@mpenning-ThinkPad-T61:~$ iperf -c 172.16.1.5 -p 9003 -t 60 -P 5
------------------------------------------------------------
Client connecting to 172.16.1.5, TCP port 9003
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  7] local 172.16.1.80 port 47047 connected with 172.16.1.5 port 9003
[  3] local 172.16.1.80 port 47043 connected with 172.16.1.5 port 9003
[  4] local 172.16.1.80 port 47044 connected with 172.16.1.5 port 9003
[  5] local 172.16.1.80 port 47045 connected with 172.16.1.5 port 9003
[  6] local 172.16.1.80 port 47046 connected with 172.16.1.5 port 9003
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-60.0 sec  1.28 GBytes   184 Mbits/sec
[  5]  0.0-60.0 sec  1.28 GBytes   184 Mbits/sec
[  3]  0.0-60.0 sec  1.28 GBytes   183 Mbits/sec
[  6]  0.0-60.0 sec  1.35 GBytes   193 Mbits/sec
[  7]  0.0-60.0 sec  1.35 GBytes   193 Mbits/sec
[SUM]  0.0-60.0 sec  6.55 GBytes   937 Mbits/sec
mpenning@mpenning-ThinkPad-T61:~$

1000BaseT, 1 টি স্ট্রিম, 2.0% ক্ষতি loss

mpenning@mpenning-ThinkPad-T61:~$ sudo tc qdisc add dev eth0 root netem corrupt 2.0%

mpenning@mpenning-ThinkPad-T61:~$ mtr --no-dns --report   --report-cycles 60 172.16.1.5
HOST: mpenning-ThinkPad-T61       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 172.16.1.5                 1.7%    60    0.2   0.2   0.2   0.2   0.0
mpenning@mpenning-ThinkPad-T61:~$

[mpenning@tsunami]$ iperf -s -p 9004 -B 172.16.1.5

mpenning@mpenning-ThinkPad-T61:~$ iperf -c 172.16.1.5 -p 9004 -t 60 -P 1
------------------------------------------------------------
Client connecting to 172.16.1.5, TCP port 9004
TCP window size: 42.0 KByte (default)
------------------------------------------------------------
[  3] local 172.16.1.80 port 48910 connected with 172.16.1.5 port 9004
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-64.1 sec  5.45 GBytes   730 Mbits/sec
mpenning@mpenning-ThinkPad-T61:~$

1000BaseT, 5 টি স্ট্রিম, 2.0% ক্ষতি

[mpenning@tsunami]$ iperf -s -p 9005 -B 172.16.1.5

mpenning@mpenning-ThinkPad-T61:~$ iperf -c 172.16.1.5 -p 9005 -t 60 -P 5
------------------------------------------------------------
Client connecting to 172.16.1.5, TCP port 9005
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  7] local 172.16.1.80 port 50616 connected with 172.16.1.5 port 9005
[  3] local 172.16.1.80 port 50613 connected with 172.16.1.5 port 9005
[  5] local 172.16.1.80 port 50614 connected with 172.16.1.5 port 9005
[  4] local 172.16.1.80 port 50612 connected with 172.16.1.5 port 9005
[  6] local 172.16.1.80 port 50615 connected with 172.16.1.5 port 9005
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  1.74 GBytes   250 Mbits/sec
[  7]  0.0-60.0 sec   711 MBytes  99.3 Mbits/sec
[  4]  0.0-60.0 sec  1.28 GBytes   183 Mbits/sec
[  6]  0.0-60.0 sec  1.59 GBytes   228 Mbits/sec
[  5]  0.0-60.0 sec  1.24 GBytes   177 Mbits/sec
[SUM]  0.0-60.0 sec  6.55 GBytes   937 Mbits/sec
mpenning@mpenning-ThinkPad-T61:~$

প্যাকেট ক্ষতির সিমুলেশন সরান

mpenning@mpenning-ThinkPad-T61:~$ sudo tc qdisc del dev eth0 root

শেষ দৃশ্যে কী ঘটছে তা আপনি ব্যাখ্যা করতে পারেন (1000BaseT, 5 টি স্ট্রিম, 2.0% ক্ষতি)? প্যাকেটের ক্ষতি থাকলেও মোট থ্রুপুটটি এখনও 937 এমবিট / সেকেন্ডে স্যাচুরেটেড। আমার লক্ষ্য ওয়াইফাইয়ের মাধ্যমে সম্ভব সর্বোচ্চ টিসিপি থ্রুপুট অর্জন করা। আমি যেমন এটি বুঝতে পেরেছি, প্যাকেটের ক্ষতির কারণে থ্রুপুট হ্রাস হ্রাস করার জন্য আমার স্ট্রিমের সংখ্যা বাড়ানো উচিত। এটা কি সঠিক? তদ্ব্যতীত, কোন পর্যায়ে খুব বেশি স্ট্রিমগুলি থ্রুপুটকে নেতিবাচকভাবে প্রভাবিত করতে শুরু করবে? এটি কি সীমিত মেমরি এবং / অথবা প্রক্রিয়াকরণ শক্তি দ্বারা সৃষ্ট?
elin05

@ এলিন05: একাধিক স্ট্রিম ব্যবহার করে প্যাকেট ক্ষয়টি বিভিন্ন স্ট্রিমে ছড়িয়ে পড়ে, সুতরাং যখন কোনও প্যাকেটের ক্ষতি হয় তখন কেবল একটি স্ট্রিম তার টিসিপি উইন্ডোর আকার হ্রাস করে, অন্যান্য স্ট্রিমগুলিকে প্রভাবিত না করে ছেড়ে দেয়।
BatchyX

802.11 গ্রাম (54 এমবিপিএস) বিডিপিটি কি 8-এমএস (16 এমএসটিটি / 2) -র বিমানের প্যাকেটের সাহায্যে পাইপটি পূর্ণ রাখতে বিলম্ব করে না? সার্ভার-সাইডের উইন্ডোর আকারটি কী?
জেনারেলটওয়ার্কার

@ জেনারালনেট ওয়ার্কার, টিসিপি উইন্ডোজগুলি স্থির নয় ... টিসিপি-র প্রয়োজনের ভিত্তিতে এগুলি পরিবর্তিত হয় ... সেই ক্যাপচারের সময় সুনামির সর্বাধিক উইন্ডোর আকার 1177600 বাইট ছিল; সুনামির গড় উইন্ডো ছিল 1045083 বাইট এবং 60০ দ্বিতীয় টেস্টের গড় আরটিটি ছিল 32.2 মিমি।
মাইক পেনিংটন

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

2

একটি একক টিসিপি স্ট্রিমের সর্বাধিক থ্রুপুট জন্য গণনা এখানে।

(TCP Window [bytes]/RTT[seconds]) * 8 [bits/byte] = Max single tcp throughput in (bps)

সুতরাং আপনার বাধা রয়েছে এবং বিলম্ব একটি বড় ভূমিকা পালন করে।


0

এটি সম্ভবত এক প্রক্রিয়া বনাম একাধিক প্রক্রিয়াগুলির কারণে। আইপিএফ ২.০.৯ এর সাথে ক্লায়েন্টে -P 2 এর মাধ্যমে কেউ এটি পরীক্ষা করতে পারে। এটি একের পরিবর্তে দুটি থ্রেড কাঁটাবে। বেশিরভাগ আধুনিক সিপিইউতে একাধিক কোর থাকে তাই একাধিক থ্রেড ব্যবহার করে সেগুলি লাভ করতে সক্ষম হবে।

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