আপনি দুটি বাক্সের মধ্যে নেটওয়ার্কের গতি কীভাবে পরীক্ষা করবেন?


168

আমার বাড়িতে একটি গিগাবিট নেটওয়ার্ক রয়েছে এবং কয়েকটি উবুন্টু ভিত্তিক বাক্স রয়েছে। সম্পূর্ণ কৌতূহলের বাইরে আমি দুটি বাক্সের মধ্যে গতিটি পরীক্ষা করতে চাই। গতি বা কোনও কিছু নিয়ে আমার কোনও সমস্যা হচ্ছে না, এটি সত্যই আমার মধ্যে জিক যে কৌতূহলী। আরও সম্ভবত ফলাফলগুলি আমাকে জানাতে পারে যে উন্নতির জন্য জায়গা রয়েছে কিনা, বা আমার কিছু ভুলভাবে কনফিগার করা আছে।

সুতরাং আপনি কীভাবে উবুন্টু বাক্সগুলির মধ্যে নেটওয়ার্কের গতিটি সঠিকভাবে পরীক্ষা করবেন?

উত্তর:


271

আমি ব্যবহার iperf। এটি একটি ক্লায়েন্ট সার্ভারের বিন্যাস যাতে আপনি এটি এক প্রান্তে সার্ভার মোডে চালনা করেন এবং নেটওয়ার্কের অপর পাশের অন্য কম্পিউটার থেকে এটিতে সংযুক্ত হন।

উভয় মেশিন চালিত:

sudo apt-get install iperf

আমরা একটি iperfমেশিনে একটি সার্ভার শুরু করব :

iperf -s

এবং তারপরে অন্য কম্পিউটারে iperfক্লায়েন্ট হিসাবে সংযুক্ত হতে বলুন :

iperf -c <address of other computer>

ক্লায়েন্ট মেশিনে, আপনি এরকম কিছু দেখতে পাবেন:

oli@bert:~$ iperf -c tim
------------------------------------------------------------
Client connecting to tim, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.4 port 37248 connected with 192.168.0.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.04 GBytes    893 Mbits/sec

অবশ্যই, আপনি যদি সার্ভার মেশিনে ফায়ারওয়াল চালাচ্ছেন তবে আপনার 5001 বন্দরে সংযোগের অনুমতি দিতে হবে বা -pপতাকা সহ পোর্টটি পরিবর্তন করতে হবে ।


আপনি ncযদি সেইভাবে ঝুঁকছেন তবে আপনি সরল পুরাতন (নেটক্যাট) দিয়ে একই কাজটি করতে পারেন। সার্ভার মেশিনে:

nc -vvlnp 12345 >/dev/null

এবং ক্লায়েন্টটি টানেলের ddউপর দিয়ে একটি গিগাবাইট জিরো পাইপ করতে পারে nc

dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345

ডেমোড হিসাবে:

$ dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Connection to 10.10.0.2 12345 port [tcp/*] succeeded!
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.11995 s, 118 MB/s

সেখানকার সময় দেওয়া হয়েছে ddতবে এটি যথাযথ হওয়া উচিত কারণ এটি কেবল পাইপটি গ্রহণ করার ফলে আউটপুট নিতে পারে। আপনি যদি এতে অসন্তুষ্ট হন তবে আপনি একটি timeকলটিতে পুরো জিনিসটি গুটিয়ে রাখতে পারেন ।

মনে রাখবেন যে ফলাফলটি মেগা বাইটে রয়েছে সুতরাং একটি মেগা বিট -দ্বিতীয়-দ্বিতীয় গতি পেতে এটি 8 দিয়ে গুণ করুন ly উপরের ডেমোটি 944mbps এ চলছে।


ম্যান আপনার আমার সব প্রশ্নের উত্তর আছে! আমার নেটওয়ার্ক দৃশ্যত সেট আপ করা হয়নি পাশাপাশি আপনার কেবলমাত্র 714 এমবিাইট এবং ব্যান্ডউইথ 598 এমবিট / সেকেন্ডে স্থানান্তর করা হবে। ভবিষ্যতে ডুনো এটি সন্ধান করতে পারে। ধন্যবাদ।
জ্যাকব শোয়েন

ন্যায্যতার সাথে অন্য বাক্সটি কেবল একটি সুইচ (এবং ক্যাট 5e এর 20 মিটার) দূরে রয়েছে এবং কোনও যানজট নেই। 600 এমবিপিএস এখনও বেশ দ্রুত।
অলি

এটি দুর্দান্ত, তবে সার্ভারে আমার রুট অ্যাক্সেস নেই।
জিওফ

-পি 10 চেষ্টা করে দেখুন একক সংযোগের সাথে আমার ফলাফলটি জেসকোয়েনের সমান, তবে 3+ সমান্তরাল সংযোগের সাথে এটি ধারাবাহিকভাবে 920 এমবিপিএসকে ধাক্কা দেয়।
wujj123456

1
@CMCDragonkai- এ সম্ভবত আপনার সম্পদ যা আপনার নয় তা পরীক্ষা করা উচিত নয়। ব্যান্ডউইথ ভারী পরীক্ষা স্বল্পমেয়াদী স্থিতিশীলতার উপর প্রভাব ফেলতে পারে।
অলি

22

আইপিএফের জন্য অলির প্রস্তাব হিসাবে একই। কেবল কয়েকটি পয়েন্ট যুক্ত করতে চাই:

  1. এছাড়াও উইন্ডো ক্লায়েন্ট রয়েছে যা প্ল্যাটফর্ম জুড়ে পরীক্ষা সক্ষম করে।
  2. -t <seconds>পরীক্ষার দৈর্ঘ্য পরিবর্তন করে। একযোগে সংযোগের সংখ্যা পরিবর্তন করে। উদাহরণস্বরূপ, 10 সংযোগ একসাথে 30 সেকেন্ডের জন্য পরীক্ষা করে এবং 10 টি পৃথক সংযোগের গতির পাশাপাশি একত্রিত ফলাফল দেয়।-P <n>iperf -c [target IP] -P 10 -t 30
  3. আপনার সুডোর দরকার নেই। আপনি সহজেই বাইনারিটি ডাউনলোড করতে পারেন http://iperf.fr/ এ । এটি কাজ করা উচিত. এটি দিয়ে ডাউনলোড করুন, এটি দিয়ে wgetকার্যকরকরণযোগ্য করুন chmod, এবং আপনি সরাসরি বাইনারি চালাতে পারেন। এটি পুরোপুরি কাজ করে।

আমি দেখেছি যে ডিফল্ট সেটিংস ব্যবহার করে একক সংযোগের গতি বেশ কিছুটা ওঠানামা করে। তবে 3+ সমান্তরাল সংযোগের সাথে ফলাফলগুলি আমার গিগাবাইট স্যুইচের সাথে আরও সুসংগত। (ধারাবাহিকভাবে @ 910-920 এমবিপিএস)


8

এই স্ক্রিপ্টটি ব্যবহার করে আপনি সহজেই আপনার মেশিন এবং কিছু দূরবর্তী হোস্টের মধ্যে সংযোগের গতি পরীক্ষা করতে পারেন। ব্যবহারের উদাহরণ:

$ scp-speed-test.sh user@remote_host 80000
  • user@remote_host আপনার গন্তব্য হোস্ট (আপনার অবশ্যই এই হোস্টটিতে ssh- অ্যাক্সেস থাকতে হবে)
  • 80000পরীক্ষার ফাইলের আনুমানিক আকার (কেবিএস এ), যা দূরবর্তী হোস্টে প্রাপ্ত হবে। এটি বাধ্যতামূলক যুক্তি নয়।

4
এটি এসসিপি অ্যাপ্লিকেশনটির গতি পরীক্ষা করে দেখে মনে হচ্ছে, এটি একটি নিম্ন স্তরের পরীক্ষার চেয়ে কম হবে। উদাহরণস্বরূপ, এনসি এল 4 ব্যবহার করে। অবশ্যই, আপনি যদি এসসিপিটির গতি সম্পর্কে আরও যত্নশীল হন তবে এটি দুর্দান্ত।
সুডো

1
সমস্যা রয়েছে: এই স্ক্রিপ্টটি একটি ডিস্কে একটি ফাইল লেখেন এবং পড়েন - এটি ম্যামের চেয়ে ধীরে ধীরে ধীরে ধীরে কৃত্রিম মন্দা হতে পারে। এছাড়াও কেবল জিরো প্রেরণ করে, যদি তারা সংকুচিত হয় তবে এটি একটি বড় কৃত্রিম গতিবেগ। যদি আপনি সিউডোরডম ডেটা চান, তবে এটি ব্যবহার করবেন না /dev/random(এটি ব্লক করতে পারে) বাurandom (লিঙ্ক মন্তব্যগুলি বলেছে যে) তারা খুব ধীর হতে পারে, পরিবর্তে একটি ডিএম-ক্রিপ্ট ব্যবহার করুন (ক্রিপ্টসেটআপের এফএকিউ দেখুন ২.১৯ কীভাবে আমি ক্রিপ্টো- দিয়ে একটি ডিভাইস মুছতে পারি) গ্রেড এলোমেলোতা? ) র‌্যামে একটি ফাইল সহ হতে পারে।
Xen2050

4

আপনি যদি আপনার ইথারনেট ল্যানকে নিম্ন স্তরে পরীক্ষা করতে চান তবে আপনি ইথেরেট ব্যবহার করতে পারেন যা একটি ফ্রি লিনাক্স সিএলআই ইথারনেট পরীক্ষামূলক সরঞ্জাম:

https://github.com/jwbensley/Etherate

এটিকে আইপিফার মতো সরঞ্জাম হিসাবে মিশ্রণে ফেলে দেওয়া (যা খুব ভাল!) আইপি এবং টিসিপি বা ইউডিপিতে কাজ করে। ইথারনেট / ওএসআই স্তর 2 এর মধ্যে সরাসরি ইথেরেট পরীক্ষাগুলি।


2

নীচের কমান্ডটিতে অতিরিক্ত প্যাকেজগুলির প্রয়োজন নেই তবে এসএসএইচ অ্যাক্সেসের প্রয়োজন:

ssh username@myserver.example.com 'dd if=/dev/zero bs=1GB count=3 2>/dev/null' | dd of=/dev/null status=progress

উদাহরণ আউটপুট:

2992238080 bytes (3.0 GB) copied, 27.010250 s, 111 MB/s
5859375+0 records in
5859375+0 records out
3000000000 bytes (3.0 GB) copied, 27.1943 s, 110 MB/s

কমান্ডটি 3 গিগাবাইট (1000 ^ 3 বাইট) ডামি ফাইলটি রিমোট সার্ভারে স্টেডআউটে প্রিন্ট করে, যা স্থানীয় সার্ভারের স্টাডাউটে এসএসএইচ এর মাধ্যমে মুদ্রিত (স্থানান্তরিত) হয় এবং তারপরে স্থানীয়ভাবে পাইপযুক্ত /dev/null(অর্থাৎ উপেক্ষা করা হয়)) এমনকি এটি কার্যকর করার সময় আপনি পরীক্ষার অগ্রগতিও দেখতে পাবেন।

অবশ্যই অন্যান্য সরঞ্জামগুলির মতো যথাযথ নয় তবে আমার ব্যবহারের ক্ষেত্রে একটি ব্যাকআপ প্রক্রিয়াটি ডিবাগ করা ছিল যেখানে অতিরিক্ত প্যাকেজ ইনস্টল না করে নেটওয়ার্ক গতির সমস্যা ছিল কিনা তা আমি পরীক্ষা করতে চেয়েছিলাম।


1

দুটি হোস্টের মধ্যে ব্যান্ডউইথ বেঞ্চমার্কিংয়ের জন্য আরও কয়েকটি দুর্দান্ত কমান্ড-লাইন সরঞ্জাম রয়েছে:

nuttcp

server$ nuttcp -S
client$ nuttcp -v -v -i1 1.1.1.1 ;# 1.1.1.1 is server's address

nepim

 server$ nepim
 client$ nepim -d -c 1.1.1.1 ;# 1.1.1.1 is server's address

goben

 server$ goben
 client$ goben -hosts 1.1.1.1 ;# 1.1.1.1 is server's address

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

0

হিসাবে আমি সর্বোত্তম উত্তর আমার মন্তব্যে উল্লেখ, যে সমাধান ভালো নয় যথেষ্ট ক্লায়েন্ট কারণ হতে / সার্ভার নয় অপ্টিমাইজ করতে ... আলিঙ্গন গতি প্রত্যেক বিট

আমার সমাধান:

উভয় পক্ষের একটি র‌্যামডিস্ক তৈরি করুন (অতএব, আপনি সঞ্চয়ের গতি দ্বারা সীমাবদ্ধ নন এবং আমি আপনাকে পরামর্শ দিয়েছি যে আপনি এগুলি rampfs দিয়ে tmpfs না দিয়ে তৈরি করেছেন, সুতরাং তারা অদলবদলে যাবে না ... কমপক্ষে 512 এম ফ্রি মেমরি না রেখে সতর্ক থাকুন সিস্টেমের জন্য, এটি প্রয়োজনীয় যদি আপনার গিগা ইথারনেট থাকে, সেই গতিতে এমনকি এসএসডিগুলি সার্ভারে অ্যাপাচি ইনস্টল করে, তারপরে র‌্যামডিস্কের একটি লিঙ্ক তৈরি করুন, র‌্যামডিস্কে কয়েকটি বড় ফাইল তৈরি করুন (100M-1G, আপনি এগুলি দিয়ে তৈরি করতে পারেন) / ডি / র্যান্ডম থেকে ডিডি করুন বা আপনার হাতে কিছু আছে তবে অনুলিপি করুন) তারপরে ক্লায়েন্টের পাশে যান এবং সেগুলি ডাউনলোড করুন (সেই পাশের রামডিস্কেও) একটি উন্নত ডাউনলোড প্রোগ্রাম সহ, আমি ব্যবহার করেছি lftp

ওহ ভাল, পার্থক্য প্রধান ছিল, 75৫ এমবিপিএস থেকে আইপিএফ এবং 9.5 এম / এস নেটকাট দ্বারা প্রতিবেদন করা

থেকে 11.18M / সেকেন্ড আমার সমাধান সঙ্গে:

1591129421 bytes transferred in 136 seconds (11.18M/s)

9.5 এম * 8 = 76 এমবিপিএস; এটি 75 এমবিপিএসের বেশ কাছাকাছি
ফুসকা সফটওয়্যার

-4

এটি সহজেই আপনার কম্পিউটারটিকে প্রথম বাক্সে প্লাগ করে, অন্য বাক্সটিকে প্রথম বাক্সে প্লাগ করে। তারপরে আপনার কম্পিউটার থেকে প্রথম বাক্সটি পিং করুন ফলাফলটি সংরক্ষণ করুন, অন্য বাক্সটি পিং করুন এবং বিয়োগফলটি করুন।


10
এটি নেটওয়ার্কের লেটেন্সি দেখায় যা গতির একমাত্র অংশ। উদাহরণস্বরূপ আমার ফোনের 3 জি সংযোগে বিশাল বিলম্ব (100-300 মিমি) রয়েছে তবে এটি এখনও 5 এমপিপিএসের একটি থ্রুটপুট পরিচালনা করতে পারে।
অলি

তিনি গতি চেয়েছিলেন তবে থ্রুপুট চেয়েছিলেন আমার দোষ নয়।
নিয়ামিউ দ্য গ্যালানথ্রোপ

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