Internet speed test from command line / Linux

 ( log69 | 2016. február 17., szerda - 0:56 )

Nem akarok weboldalakkal szórakozni az aktuális netem letöltési sebességének megméréséhez és tudni szeretném hamar gyorsan parancssorból, mert az mindig kéznél van. Az alábbit raktam össze.

"openssl" a lassú /dev/urandom helyett van, "timeout" a pár másodperc utáni befejezéshez, "pv" -a kapcsolója pedig az átlag sebességet írja ki az aktuális helyett (csak újabb pv verziókban van ez a kapcsoló, el is hagyható).

"myserver" feltöltési sebességének nagyobbnak kell lennie mint a helyi letöltési sebesség, ezért nyilván érdemes egy olyan VPS-hez kapcsolódva futtatni, amely 100 vagy 1000 Mbit-es feltöltési sebességgel rendelkezik.

ssh myserver "timeout 10 openssl rand 1000000000" | pv -a > /dev/null

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

tok jo, meg minden.

de miert jobb ez, mint az iperf?

(mielott azt mondanad, hogy "mert azzal csak a feltoltest tudnad merni, vagy pedig a server iranyabol kellene a gepedhez kapcsolodni, felhivom a figyelmet a man iperf vonatkozo szakaszara:
"Bi-directional bandwidth measurement: (-r argument)

The Iperf server connects back to the client allowing the bi-directional bandwidth measurement. By default, only the bandwidth from the client to the server is measured.
If you want to measure the bi-directional bandwidth simultaneously, use the -d keyword. (See next test.)"
)

Portot kell hozzá nyitni meg mindkét gépen elindítani. Megmutatnád hogy root fiók nélkül kapcsolódva egy távoli host-hoz és külön port nyitás nélkül hogyan lehet egyetlen parancsból kivitelezni, ahol az iperf csomagokat nem SSH tunelbe csomagolod? Nekem macerásnak tűnik, de elfogadok javaslatot. Még gondolkodok rajta. Azért kösz a tippet, leginkább helyi hálón szoktam iperf-et használni.

Ráadásul ahogy látom, a -d és -r kapcsoló csak újabb verziókban van meg, RHEL 6 vonalon lévő iperf-ben nincs.

"Portot kell hozzá nyitni meg mindkét gépen elindítani."

Na jó, de az írásod alapján abból indultam ki, hogy van egy "myserver" saját szervered. iperf server indulhat akár bootkor is.

"Megmutatnád hogy root fiók nélkül kapcsolódva egy távoli host-hoz és külön port nyitás nélkül hogyan lehet egyetlen parancsból kivitelezni..."

Öööö, itt nem értem, pontosan, hogy mire gondolsz. iperf -s -hez nem kell root. Ha van akár user hozzáférésed a serverhez (ha van ssh -d, akkor nyílván van), tudsz futtatni egy iperf -s -t akár screen -ben. Egyszer elindítod, onnantól meg a kliensen iperf -c myserver -r .

"Még gondolkodok rajta. Azért kösz a tippet"

Szivesen!

"Ráadásul ahogy látom, a -d és -r kapcsoló csak újabb verziókban van meg, RHEL 6 vonalon lévő iperf-ben nincs."

RHEL -em egyáltalán nincs, viszont ez az iperf verzióm:
"iperf version 2.0.5 (08 Jul 2010) pthreads
xxx-MacBook-Air:~ xxx$
"

Ez eléggé régi, van már iperf 3.x is....
A -r és a -d pedig benne vannak. RHEL 6 régebbi, mint 6 éves, és nincs hozzá frissebb iperf?! Érdekes....

Ja, és az általad összeállított command line sem fut csak úgy egy default telepítésen. :) pv alapból nem szokott leni, és timeout sem feltétlen (legalábbis hirtelen freebsd 10.1 serverre tudtam kipróbálni, elhasalt a pv és timeout hiányán.)

Nem tudtam hogy nem kell root, kösz. Sajnos a -r kapcsolód nem engedi, kiírja hogy a kiszolgáló iperf nem támogatja.

az ssh-oz nem kell portot nyitni? :-)

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Azt alapértelmezettnek definiáltam :)

sudo apt-get install speedtest-cli

speedtest-re keresve nincs találatom a csomag kezelőben. Ez plusz PPA-ból van esetleg?

Ubuntu 15.10-en van, 0.3.2 verzió

Itt a githubos változat: https://github.com/sivel/speedtest-cli

Kösz mindkettőtöknek az utána járást.