Съществува прост вариант за измерване на скоростта чрез конзолни команди:
speedtest-cli
За целта трябва първо да се убедим, че имаме инсталиран python:
[angie@angie-desktop ~]$ yum list installed |grep python
audit-libs-python.i686 2.3.7-5.el6 @base
dbus-python.i686 0.83.0-6.1.el6 @C6.0-base
gnome-python2-gnome.i686 2.28.0-3.el6 @base/$releasever
libobasis5.0-python-script-provider.i586
5.0.1.2-2 @/libobasis5.0-python-script-provider-5.0.1.2-2.i586
libproxy-python.i686 0.3.0-10.el6 @base
libreport-python.i686 2.0.9-24.el6.centos @base
python.i686 2.6.6-64.el6 @base
python-deltarpm.i686 3.5-0.5.20090913git.el6 @base/$releasever
python-fpconst.noarch 0.7.3-6.1.el6 @base
python-iniparse.noarch 0.3.1-2.1.el6 @C6.0-base
python-libs.i686 2.6.6-64.el6 @base
python-nose.noarch 0.10.4-3.1.el6 @base
python-nss.i686 0.16.0-1.el6 @base
python-pycurl.i686 7.19.0-8.el6 @C6.0-updates
python-urlgrabber.noarch 3.9.1-9.el6 @C6.5-base
rpm-python.i686 4.8.0-47.el6 @base
|
Ако не е инсталиран, трябва да го инсталираме с:
[angie@angie-desktop ~]# yum install python
|
След това сваляме от github speedtest-cli:
[angie@angie-desktop ~]$ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py
--2015-09-20 18:12:58-- https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py
Resolving raw.githubusercontent.com... 185.31.17.133
Connecting to raw.githubusercontent.com|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24314 (24K) [text/plain]
Saving to: "speedtest-cli"
100%[======================================>] 24,314 --.-K/s in 0.002s
2015-09-20 18:12:58 (14.8 MB/s) - "speedtest-cli" saved [24314/24314]
|
Трябва да променим правата върху файла, като разрешим изпълнението му:
[angie@angie-desktop ~]$ chmod +x speedtest-cli
|
След изпълнението на командата получаваме резултати, които често и за жалост се разминават с очакванията:
[angie@angie-desktop ~]$ ./speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Vivacom (95.xx.xx.xx)...
Selecting best server based on latency...
Hosted by escom (Haskovo) [56.04 km]: 44.604 ms
Testing download speed........................................
Download: 25.30 Mbit/s
Testing upload speed..................................................
Upload: 13.21 Mbit/s
|
Ако искаме да видим резултатите в битове, трябва да добавим опцията (ключа) --bytes към командата:
[angie@angie-desktop ~]$ ./speedtest-cli --bytes
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Vivacom (95.xx.xx.xx)...
Selecting best server based on latency...
Hosted by EVO Ltd (Veliko Tarnovo) [72.34 km]: 43.248 ms
Testing download speed........................................
Download: 3.75 Mbyte/s
Testing upload speed..................................................
Upload: 2.13 Mbyte/s
|
Ако желаем да споделим със speedtest.net резултатите от „изследването“, трябва да добавим опцията --share:
[angie@angie-desktop ~]$ ./speedtest-cli --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Vivacom (95.xx.xx.xx)...
Selecting best server based on latency...
Hosted by EVO Ltd (Veliko Tarnovo) [72.34 km]: 31.815 ms
Testing download speed........................................
Download: 29.84 Mbit/s
Testing upload speed..................................................
Upload: 12.57 Mbit/s
Share results: https://www.speedtest.net/result/4679385439.png
|
Резултатите, заедно с малко статистика, могат да се видят на следното изображение:
Разбира се, можем да включим в командата последователно и двете по-горе посочени опции.
Можем да видим тестовите сървъри с опцията --list:
[root@angie-desktop html]# /home/angie/speedtest-cli --list |grep Bulgaria
1963) Internet Group Ltd (Stara Zagora, Bulgaria) [0.67 km]
1447) Compas Karadjov and ko (Dimitrovgrad, Bulgaria) [42.70 km]
3176) escom (Haskovo, Bulgaria) [56.04 km]
2321) ComNet Bulgaria (Sliven, Bulgaria) [63.11 km]
6363) EVO Ltd (Veliko Tarnovo, Bulgaria) [72.34 km]
3423) Telenor (Plovdiv, Bulgaria) [79.82 km]
2312) ComNet Bulgaria (Pazardjik, Bulgaria) [110.66 km]
5388) TheZone Ltd. (Svishtov, Bulgaria) [134.41 km]
4301) DigiCom.BG (Burgas, Bulgaria) [149.86 km]
2294) ComNet Bulgaria (Burgas, Bulgaria) [149.86 km]
1135) SKAT TV (Burgas, Bulgaria) [149.86 km]
4741) ETA BG (Cherven Bryag, Bulgaria) [158.25 km]
4274) University of Ruse (Ruse, Bulgaria) [159.77 km]
4763) Delta LTD (Ruse, Bulgaria) [159.77 km]
6653) Kiten Net (Kiten, Bulgaria) [177.41 km]
2214) MaxTelecom LTD (Sofia, Bulgaria) [188.16 km]
1864) Mobiltel (Sofia, Bulgaria) [188.16 km]
2320) ComNet Bulgaria (Sofia, Bulgaria) [188.16 km]
1885) BLIZOO (Sofia, Bulgaria) [188.16 km]
1917) VIVACOM (Sofia, Bulgaria) [188.16 km]
2127) UltraNET Ltd (Blagoevgrad, Bulgaria) [214.35 km]
5002) Pernik Lan (Pernik, Bulgaria) [214.60 km]
4676) Net-Surf.net Ltd. (Montana, Bulgaria) [224.55 km]
4560) Vida optics TVV Ltd (Vidin, Bulgaria) [283.37 km]
|
Следващият пример ни дава резултатите към конкретно избран сървър, като са избегнати текстовите съобщения:
[root@angie-desktop html]# /home/angie/speedtest-cli --server 6363 --simple
Ping: 54.965 ms
Download: 30.28 Mbit/s
Upload: 16.59 Mbit/s
|
Gonzalo Cao Cabeza de Vaca е модифицирал скрипта, като той вече би трябвало да събира данните и да ги визуализира графично. Лично на нас не ни се отдаде да повторим експеримента.
2. wput/wget
Можем да направим теста за скоростта на качване, като използваме командата wput за да качим голям файл на ftp сървър. За съжаление във версията ѝ 0.6.1 има грешка, която не позволява качването на файлове над определен размер. Със сигурност не работи с размери на файла 9.2 GB, затова използвахме по-малък - „само“ 1.5 GB:
[angie@angie-desktop proftpd]$ wput -V
wput version: 0.6.1
[angie@angie-desktop proftpd]$ wput -v bigfile.avi ftp://angie:password@myhomeftpserver.org
--19:29:44-- `bigfile.avi'
=> ftp://angie:xxxxx@xx.xx.xx.xx:21/bigfile.avi
Connecting to xx.xx.xx.xx:21... connected!
Logging in as angie ... Logged in!
==> TYPE I ... done.
==> SIZE bigfile.avi ... failed.
==> PASV ... done.
==> STOR bigfile.avi ... done.
Length: 1,535,068,160
99% [=======================================================================================>] 1,534,754,816 4.61M/s ETA 00s
19:34:50 (bigfile.avi) - ` 4.79M/s' [1535068160]
FINISHED --19:34:50--
Transfered 1,535,068,160 bytes in 1 file at 4.79M/s
|
Скоростта на сваляне ще измерим с командата wget, като използваме качения преди малко файл:
[angie@angie-desktop proftpd]$ wget -V
GNU Wget 1.12 built on linux-gnu.
[angie@angie-desktop proftpd]$ wget -O /dev/null ftp://angie:password@myhomeftpserver.org/bigfile.avi
--2015-10-03 19:50:03-- ftp://angie:*password*@myhomeftpserver.org/bigfile.avi
=> "/dev/null"
Resolving myhomeftpserver.org... xx.xx.xx.xx
Connecting to myhomeftpserver.org|xx.xx.xx.xx|:21... connected.
Logging in as angie ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD not needed.
==> SIZE bigfile.avi ... 1535068160
==> PASV ... done. ==> RETR bigfile.avi ... done.
Length: 1535068160 (1.4G) (unauthoritative)
100%[========================================================================================>] 1,535,068,160 4.38M/s in 5m 41s
2015-10-03 19:55:45 (4.30 MB/s) - "/dev/null" saved [1535068160]
|
В случая използваме /dev/null като дестинация, тъй като сваления файл реално не ни трябва и по този начин си спестяваме триенето му.
Резултатите при тестовете с wput/wget са повлияни (вероятно) и от това, че използваната техника е на домашно ниво, докато при тестовете със speedtest-cli е използван професионален сървър.
Коментари
Публикуване на коментар