Portál AbcLinuxu, 7. května 2025 22:21

Dotaz: mereni rychlosti na eth rozhrani

petka avatar 7.1.2009 12:58 petka | skóre: 25 | blog: heydax | Klasterec N/O
mereni rychlosti na eth rozhrani
Přečteno: 498×
Odpovědět | Admin

Zdravim mel by dotaz na mereni rychlosti internetoveho rozhrani vyahnutim informaci z /proc/dev/net . Vytvoril jsem si malej skript v shellu , ale namerena rychlost se neshoduje treba v programu iptraf . Prikladam skript.

speed1=`awk 'BEGIN {FS="[ :]+"} /eth0/ {print $3}' /proc/net/dev` 
sleep 1                                                           
speed2=`awk 'BEGIN {FS="[ :]+"} /eth0/ {print $3}' /proc/net/dev`  
speed3=(($speed2 - $speed1))                                   

echo $speed3
 

Namerene hodnoty se ukladaji do promenych speed1 a speed2 v intervalu 1 sekunda a jejim naslednym odecteni , vysledek vsak neodpovida skutecnosti . Ma nekdo lepsi reseni ?

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

petka avatar 7.1.2009 13:14 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani
Odpovědět | | Sbalit | Link | Blokovat | Admin

oprava

speed3=$(($speed2 - $speed1))

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
7.1.2009 13:59 *
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani
Odpovědět | | Sbalit | Link | Blokovat | Admin
bwm

vnstat

ipac-ng

iptraf

cokoliv jineho

ethtool -S

proc/net/dev

...

iptraf cte proc/net/dev jen na seznam zarizeni a pri zacatky vykreslovani statistik ten soubor zavre - viz ltrace/strace, takze kdo vi ktery pocitadlo vidis.

mas vic pocitadel. ethtoolem uvidis v nekterych pripadech vsechno co tece do karty a co karta pusti dal kernelu na zpracovani.

v proc net dev uvidis to co se nekdo rozhodl uvadet jako nejlepsi volbu z vicero moznych.

vetsina dalsich toolu ipac a dalsi pracuji az kousek od ip stacku v netiltru, takze toho dost neuvidi.
petka avatar 7.1.2009 18:10 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani

Nastroje jsou zajimave , ale neresi muj problem potrebuju promenou speed3 dale zpracovat , nebo ji vytahnout z nejakeho  programu .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
7.1.2009 19:29 muficek | skóre: 17 | blog: Muficek | Hradec Králové
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani
Odpovědět | | Sbalit | Link | Blokovat | Admin

Číst to pomocí SNMP ?

 

Věřící mohou mluvit o velkém štěstí, že Ježíš byl ukřižován. Kdyby ho např. utopili, museli by nosit na krku akvárko :-)
7.1.2009 20:36 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani
Odpovědět | | Sbalit | Link | Blokovat | Admin
print $3

Měříte v bajtech nebo paketech?

Limoto avatar 7.1.2009 20:42 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani
Odpovědět | | Sbalit | Link | Blokovat | Admin

vnstat -l -i eth0

 

Vypisuje to počet přijatých/odeslaných paketů a velikost dat.

petka avatar 7.1.2009 21:43 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: mereni rychlosti na eth rozhrani

Dekuji za pomoc , zda se ze jsem to nejak poresil a hodnoty se v celku shoduji , kdyz nastavim delsi dobu mereni , je mereni presnejsi . Ve skriptu se meri po 10 sekundach .Mereni se provadi v bytech.

#!/bin/sh

espeak='/usr/bin/espeak'
awk='/bin/awk'
doba=10

while :; do


speed1=`$awk 'BEGIN {FS="[ :]+"} /eth0/ {print $3}' /proc/net/dev`
speed2=`$awk 'BEGIN {FS="[ :]+"} /eth0/ {print $11}' /proc/net/dev`
sleep $doba
speed11=`$awk 'BEGIN {FS="[ :]+"} /eth0/ {print $3}' /proc/net/dev`
speed22=`$awk 'BEGIN {FS="[ :]+"} /eth0/ {print $11}' /proc/net/dev`
sub1=$(($speed11 - $speed1))
sub2=$(($speed22 - $speed2))
speed111=$(($sub1 / $doba))
speed222=$(($sub2 / $doba))
$espeak -p 40 -s 70 -v cs "rychlost odchozích dat za vteřinu je $speed222 bajtů"
$espeak -p 40 -s 70 -v cs "rychlost příchozích dat za vteřinu je $speed111 bajtů"
echo 'prichozi' $speed111  'odchozi'$speed222

done

 

 

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.