چگونه سرعت اینترنت را از طریق ترمینال بررسی کنیم؟


به جواب پذیرفته شده بروید




به جای مراجعه به سایت هایی مانند speedtest.net ، می خواهم سرعت اینترنت فعلی خود را از ترمینال موجود در اوبونتو بررسی کنم. من این رو چطور میتونم انجام بدم؟


490









14 :تعداد پاسخها


من برای این کار سریعترین ابزار Cli را توصیه می کنم . من یک پست وبلاگ ایجاد کردم ( اندازه گیری سرعت اتصال به اینترنت از خط فرمان لینوکس ) که به جزئیات بارگیری ، نصب و استفاده از آن می پردازد.

نسخه کوتاه این است: (ریشه لازم نیست)

 curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
 

خروجی:

 Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Comcast Cable (x.x.x.x)...
Selecting best server based on ping...
Hosted by FiberCloud, Inc (Seattle, WA) [12.03 km]: 44.028 ms
Testing download speed........................................
Download: 32.29 Mbit/s
Testing upload speed..................................................
Upload: 5.18 Mbit/s
 

بروزرسانی در سال 2018:

استفاده pip install --user speedtest-cli از نسخه‌ای که احتمالاً جدیدتر از نسخه موجود در مخازن توزیع شماست ، به شما می دهد.

بروزرسانی در سال 2016:

speedtest-cli هم اکنون در مخازن اوبونتو است. برای Ubuntu 16.04 (Xenial) و استفاده های بعدی:

 sudo apt install speedtest-cli
speedtest-cli
 

789



این را در خط فرمان امتحان کنید

 wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
 

این را هم امتحان کنید

 sourceforge.net/projects/tespeed/
 

آن را از بالای لینک دریافت کردم


96



اگر نمی توانید برای نصب iperf زحمت بکشید ، می توانید از هر دستوری که مقدار مشخصی از داده ها را با time دستور تغییر دهید ، استفاده کنید و مبلغی را انجام دهید.

iperf ساده و کاربردی آسان است.

به مشتری و سرور نیاز دارد.

(روی سرور)

  [email protected]$ iperf -s
 

(روی مشتری)

  [email protected]$ iperf -c server.domain
 ------------------------------------------------------------
 Client connecting to 192.168.1.1, TCP port 5001
 TCP window size: 16.0 KByte (default)
 ------------------------------------------------------------
 [  3] local 192.168.1.3 port 52143 connected with 192.168.1.1 port 5001
 [ ID] Interval       Transfer     Bandwidth
 [  3]  0.0-10.0 sec    113 MBytes  94.7 Mbits/sec
 

جزئیات بیشتر


58



خوب من از wget آن استفاده می کنم. این ابزار کوچک به خوبی به من می گوید سرعت من چقدر است.

برای استفاده از آن ، فقط به یک فایل در اینترنت اشاره کنید که نسبتاً بزرگتر است ، تا بتوانید تخمین بهتری از آن بگیرید.

مثلا

تایپ کردن: wget http://hostve.com/neobuntu/pics/Ubu1.avi شروع به بارگیری پرونده Ubu1.avi خواهد کرد و با چه سرعتی بارگیری می کند.


توضیحات تصویر را اینجا وارد کنید

البته چندین توصیه وجود دارد:

  1. سرعت خود را با سرورهای خوب تست کنید. در مورد لینک من سرعت کمتر از 200KB است بنابراین اگر سرعت بالاتری داشته باشید ، سرور تنگنای شما خواهد بود ، نه سرعت واقعی شما.

  2. بیشترین سرعتی که مشاهده خواهید کرد حداکثر سرعتی است که اتصال شما و اتصال سرور می تواند ارائه دهد. اگر اتصال شما 512KB باشد و مکانی که در آن بارگیری می کنید 400KB است ، حداکثر اتصال شما 400KB خواهد بود زیرا این حداکثر برای سروری است که از آن بارگیری می کنید.

  3. شما باید حداقل 5 بار تست را انجام دهید تا یک بررسی سرعت قابل اعتماد داشته باشید یا حداقل این کار را برای یک یا دو دقیقه انجام دهید. این به شما کمک می کند بررسی دقیق تری داشته باشید.

  4. برای داشتن سرعت دقیق تری باید حداقل 4 یا 5 منبع آزمایش مختلف داشته باشید. هرگز از یک سایت مشابه آزمایش نکنید زیرا این مسئله می تواند از فاصله شما با آن ، مشکلی در سرور و اتصالات به آن و غیره باشد. همیشه از سرورهای مختلف تست کنید.

ARIA2

این یک جایگزین برای است wget . نکته منفی wget عدم وجود اتصالات موازی است. برای استفاده از aria2 باید مشتاقانه آن را بارگیری کنیم:

    sudo apt-get install aria2
 

استفاده از آن ساده است:


توضیحات تصویر را اینجا وارد کنید

در تصویر ، -x 4 تعداد اتصالات موازی است که ما می خواهیم از آنها استفاده کنیم. پارامتر CN در خط بعدی نشان می دهد که چند اتصال موازی فعال مجاز به بارگیری از آن سایت بودند. در این حالت CN 4 است. اما اگر سعی کردیم اتصالات بیشتری داشته باشیم ، چیزی شبیه به این را بدست می آوریم:


توضیحات تصویر را اینجا وارد کنید

ما 8 اتصال موازی را تنظیم کرده ایم اما سایت فقط حداکثر 5 را مجاز می کند همانطور که توسط CN نشان داده شده است: 5. این می تواند با گزینه -j حل شود که حداکثر اتصالات همزمان را که می خواهیم (که به طور پیش فرض 5 است) به aria2c حل می کند اما اگر سرور این محدودیت را داشته باشد ، -j کار نمی کند.


34



از آنجا که speedtest-cli یک برنامه پایتون است ، نصب آن با انجام این کار بسیار ساده تر است:

 pip install speedtest-cli
 

یا:

 easy_install speedtest-cli
 

بسته به نحوه نصب پایتون بر روی سیستم شما ، ممکن است لازم باشد که root انجام دهید تا موارد فوق را انجام دهید.


19



اتفاق می افتد که speedometer اولی اوت را دوست دارم .

 speedometer -r eth0
 

برای تماشای نمودار زنده از سرعت داده های ورودی.


6



چندین نمونه از wget را با دستور timeout در پرونده های بزرگ اجرا کنید:

 #!/bin/bash

timeout 5 wget -q url_1/100MB.zip &
timeout 5 wget -q url_2/file.zip &
timeout 5 wget -q url_3/sample.mov &
timeout 5 wget -q url_4/speech.mp4 &
 

و سپس یک اسکریپت بنویسید تا کل بایتهای بارگیری شده را محاسبه کرده و 5 ثانیه تقسیم کنید و یک بایت / ثانیه به دست آورید. باید کاملاً دقیق باشد و می توانید موارد بیشتری را برای حداکثر پهنای باند خود اضافه کنید.

من هنوز اسکریپت کامل را تست نکردم اما دستور تک خط "timeout 5 wget url" کار می کند ، و در نتیجه یک فایل جزئی بارگیری شده دریافت می کنید (اگر 5 ثانیه برای تکمیل بارگیری کافی نیست).


3



شما می توانید با استفاده از tespeed . این یک تست سرعت شبکه ترمینال است که از سرورهای موجود در آن استفاده می کند Speedtest.net . از نزدیکترین سرور تست استفاده می کند اما می تواند از یک کاربر که توسط کاربر تعیین شده است نیز استفاده کند.

  git clone git://github.com/Janhouse/tespeed.git
 cd tespeed
 git submodule init
 git submodule update
 ./tespeed.py 
 


توضیحات تصویر را اینجا وارد کنید

برای استفاده از اطلاعات بیشتر:

  ./tespeed.py  -h
 

این گزینه گزینه بیشتری برای تست سرعت است.


3



یک لاینر ساده که تست می کند بارگیری 100MB چقدر طول می کشد ( /bin/sh همچنین کار می کند ):

t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))

توضیح:

  1. علامت زمانی را در $ t ذخیره کنید
  2. 100mb را بارگیری کنید اما چیزی ذخیره نکنید
  3. محاسبه 8 * 100mb / $t

2



اسکریپت ساده bash بر اساس پاسخrexis. می توانید پیوندهای خود را برای آزمایش به صورت links آرایه قرار دهید یا آنها را از پرونده بخوانید

 #!/bin/bash
export LC_ALL=C  #make output in English eg for later use with "du | grep"

TMP_PATH=/tmp/speedtest_data/
TEST_TIME=5

rm -rf $TMP_PATH && mkdir $TMP_PATH

links=("http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-2b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1c.bin" "http://ftp.ntua.gr/pub/linux/ubuntu-releases-dvd/quantal/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.funet.fi/pub/Linux/INSTALL/Ubuntu/dvd-releases/releases/12.10/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.icm.edu.pl/pub/Linux/opensuse/distribution/13.2/iso/openSUSE-13.2-DVD-x86_64.iso")

echo "Testing download"

for link in ${links[*]}
do
    timeout $TEST_TIME wget -q -P $TMP_PATH $link &
done

wait

total_bytes=$(du -c -b $TMP_PATH | grep total | awk '{print $1}')

echo "Cleaning up"
rm -rf $TMP_PATH

speed=$(echo "scale=2; $total_bytes / $TEST_TIME / 128" |bc)

echo "Speed is $speed Mbit/s"

exit 0
 

2



برای به راحتی سرعت بارگیری من در بیت بر ثانیه ، در پرونده HOME / .bash_aliases $ من موارد زیر را تعریف می کنم:

 speed-test='wget --output-document=/dev/null --report-speed=bits http://speedtest.wdc01.softlayer.com/downloads/test500.zip'
 

جایی که:

--output-document=/dev/null به طور موثر از خروجی wget دور می زند

--report-speed=bits میانگین سرعت بارگیری wget را در بیت بر ثانیه (bps) به جای پیش فرض بایت ها در ثانیه (Bps) نمایش می دهد


1



همچنین می توانید http://dl.getipaddr.net را امتحان کنیدhttp://dl.getipaddr.net

آنها برای اجرای یک تست سرعت از Curl (که یک ابزار خط فرمان شناخته شده است) استفاده می کنند.

به اختصار

wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh&& chmod u + x speedtest.sh && bash speedtest.sh


0



من می خواستم چیزی پیشرفته تر از speedtest.net و راه حل های مختلف که فقط به یک وب سایت واحد متکی هستند. بنابراین من کاری را انجام دادم که معمولاً انجام می دادم و راه حل خودم را نوشتم:

https://github.com/cubiclesoft/network-speedtest-cli

از لیست ویژگی ها:

  • تست سرعت SSH / SFTP (پورت 22).
  • درگاههای TCP معمولی 80 ، 443 و 8080 و همچنین تست تصادفی سرعت درگاه TCP با استفاده از سرور TCP / IP سفارشی که از سرعت حداکثر 2.2 گیگابیت در ثانیه و 780 مگابیت بر ثانیه پشتیبانی می کند.
  • تست تأخیر نسبتاً اساسی در شبکه.
  • قطرات اقیانوس دیجیتال و تست سرعت SSH / SFTP و درگاه های مختلف TCP را بچرخانید.
  • تست سرعت Speedtest.net و سفارشی OoklaServer. نتایج مشابهی با تست اتصال مجرد در single.speedtest.net تولید می کند.
  • خروجی JSON خالص در حالت خاموش (-s).

این یک راه حل عمومی تر است که می تواند توسط برنامه های کاربردی دیگر مصرف شود. من موفق شدم یک مسئله شبکه ISP را با آن مشخص کنم که منجر به دو برابر شدن سرعت پایین دست من ، که منجر به افزایش خوشبختی شد.


0



در واقع ، Ookla ، ارائه دهنده Speedtest یک ابزار خط فرمان را منتشر کرد که در حال اندازه گیری سرعت شما در برابر تعداد زیادی از سرورهای پخش شده در سراسر جهان است. می توانید دستورالعمل نحوه نصب آن را در این لینک پیدا کنید و با اجرای آن می توانید نسبتاً ساده استفاده کنید:

 speedtest -s XXXX -f csv|tsv|jsonl|json|json-pretty
 

در جایی که -s شناسه سرور را بر مبنای آن می خواهید سرعت اینترنت خود را آزمایش کنید ، -f فرمت خروجی را تعیین می کند. من فکر می کنم مفیدترین اطلاعات هنگام استفاده از json/json-pretty قالب برای خروجی ایجاد می شود زیرا در صورت استفاده از قالب ، بسیاری از اطلاعات مربوط به تنظیمات آزمایش چاپ نمی شوند csv/tsv . هر دو -s و -f فقط اختیاری هستند اما اگر می خواهید اندازه گیری خود را به صورت خودکار انجام دهید ممکن است مفید باشد.

علاوه بر این ، می توانید لیستی از سرورهایی را پیدا کنید که سریعترین سرعت از این آدرس در قالب یک فایل XML یا در این آدرس با یک فیلد جستجو: لینک استفاده کنید .


0



انتشارات مرتبط


چگونه سرعت فن را کنترل کنیم؟

چگونه سرعت / حساسیت ماوس را تغییر دهیم؟

چگونه خصوصیات پرونده را از طریق ترمینال نمایش دهیم؟

چگونه می توان خطاها را در RAM از طریق لینوکس بررسی کرد؟

چگونه بررسی کنیم که پوشه خانگی و پارتیشن swap شما با استفاده از ترمینال رمزگذاری شده است؟ [تکثیر]

چگونه می توان منطقه زمانی رایانه را از طریق ترمینال بررسی کرد؟ [تکثیر]

نحوه بررسی وضعیت بلوتوث از طریق ترمینال

چگونه بررسی کنیم که شبیه ساز ترمینال در حال حاضر مورد استفاده قرار می گیرد؟

چگونه بررسی کنیم آیا رمز سودو برای این جلسه ترمینال وارد شده است؟

وب کم واقعی را از طریق ترمینال به یک وب کم مجازی هدایت کنید

[command-line] سوال برچسب


چگونه می توانم nodeJS خود را به آخرین نسخه بروزرسانی کنم؟

چگونه مسئله محلی خود را حل کنم؟

چگونه می توانم مجوزهای فایل اوکتال را از خط فرمان دریافت کنم؟

من رم 16 گیگابایتی دارم. آیا به مبادله 32 گیگابایتی نیاز دارم؟

چگونه می توان ویندوز را به عنوان پیش فرض در boot loader تنظیم کرد؟

منظور شما در دستور نصب apt-get -y چیست؟

"Ctrl + Alt + F12" چه کاری انجام می دهد؟

ترم ، Xterm یا Uxterm؟

تفاوت بین گروه "سودو" و "مدیر" چیست؟

معادل ویژگی های سیستم Windows یا مدیر دستگاه چیست؟