Geschwindigkeit der Netzwerk-Karte auslesen
-
- Beiträge: 40
- Registriert: Mi 7. Feb 2018, 10:31
- OS, Lazarus, FPC: Winux (FPC 3.x)
- CPU-Target: xxBit
Geschwindigkeit der Netzwerk-Karte auslesen
Hi,
ich möchte gerne ein kleines Tool schreiben was mir den aktuellen Netzwerk-Speed zu Verfügung stellt. Ich suche seit heute morgen und finde leider nichts. Ich dachte man kann das in /proc finden.
Weiß vielleicht jemand wie man den aktuellen Speed auslesen kann, so das ich das in FPC bearbeiten kann?
Vielen Dank im voraus
ich möchte gerne ein kleines Tool schreiben was mir den aktuellen Netzwerk-Speed zu Verfügung stellt. Ich suche seit heute morgen und finde leider nichts. Ich dachte man kann das in /proc finden.
Weiß vielleicht jemand wie man den aktuellen Speed auslesen kann, so das ich das in FPC bearbeiten kann?
Vielen Dank im voraus
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Was meinst du genau?
Die Verbindungsgeschwindigkeit geht z.B. so
Die Verbindungsgeschwindigkeit geht z.B. so
Code: Alles auswählen
cat /sys/class/net/eth0/speed
-
- Beiträge: 40
- Registriert: Mi 7. Feb 2018, 10:31
- OS, Lazarus, FPC: Winux (FPC 3.x)
- CPU-Target: xxBit
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Ich meine den Aktuellen Speed, so wie z.b. iftop das anzeigt. Aber iftop bringt mich nicht weiter. Ich möchte es selber auslesen damit ich es z.b. an ein MonitorProgramm weiter reichen kann.
Nachtrag: Oder iptraf-ng.
Nachtrag: Oder iptraf-ng.
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Deine Frage ist mMn ungenau.
Das Thema heisst: "Geschwindigkeit der Netzwerk-Karte auslesen".
- Willst du wissen, was die Karte "könnte".
- Willst du die Verbindungsgeschwindigkeit wissen (siehe oben)
- Willst den Traffic anschauen? (Hat mMn nicht viel mit Geschwindigkeit zu tun).
- Willst du einen Speedtest bauen?
Aber wie dem auch sei, ein Lazarus Thema ist das nicht direkt.
Das Thema heisst: "Geschwindigkeit der Netzwerk-Karte auslesen".
- Willst du wissen, was die Karte "könnte".
- Willst du die Verbindungsgeschwindigkeit wissen (siehe oben)
- Willst den Traffic anschauen? (Hat mMn nicht viel mit Geschwindigkeit zu tun).
- Willst du einen Speedtest bauen?
Aber wie dem auch sei, ein Lazarus Thema ist das nicht direkt.
-
- Beiträge: 40
- Registriert: Mi 7. Feb 2018, 10:31
- OS, Lazarus, FPC: Winux (FPC 3.x)
- CPU-Target: xxBit
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Hi,
also ich verstehe unter Traffic wieviel rein und raus gegangen ist.
Ich möchte aber den aktuellen Speed haben in dem Moment wo ich auslese. Nicht der Speed womit Conncted ist. Ich weiß nicht wie ich es bennen soll. Dewegen habe ich geschrieben wie iftop. iftop zeigt die aktuelle Geschwindigkeit der NIC an. Macht man nix ist er fast 0-2k. Schiebt man z.b. per Samba etwas drauf dann geht der aktuelle Speed natürlich hoch. Und genau das zeigt iftop, iptraf an.
Nun weiß ich. Ich möchte KB/s haben. Oder Byte Pro Sekunde.
also ich verstehe unter Traffic wieviel rein und raus gegangen ist.
Ich möchte aber den aktuellen Speed haben in dem Moment wo ich auslese. Nicht der Speed womit Conncted ist. Ich weiß nicht wie ich es bennen soll. Dewegen habe ich geschrieben wie iftop. iftop zeigt die aktuelle Geschwindigkeit der NIC an. Macht man nix ist er fast 0-2k. Schiebt man z.b. per Samba etwas drauf dann geht der aktuelle Speed natürlich hoch. Und genau das zeigt iftop, iptraf an.
Nun weiß ich. Ich möchte KB/s haben. Oder Byte Pro Sekunde.
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Wenn Du das machen willst, ist unter Linux (!) das /proc Dateisystem dein Freund und darin ganz speziell die "Datei" /proc/net/dev. Darin findest du für jedes angeschlossene Netzwerk-Device u.A. die Anzahl an Bytes, die seit dem Systemstart geschrieben bzw. gelesen worden sind.
Dein kleines Tool muss nun also die "Packets received" auslesen, eine genau definierte Zeit warten und das dann erneut machen. Dann kannst Du den durchschnittlichen Durchsatz in diesem Intervall berechnen und ausgeben. Je nach gewählter Intervallgröße bekommst Du dann einen im Rahmen Deiner Anforderungen sinnvollen (oder halt unsinnigen) Wert raus.
Dein kleines Tool muss nun also die "Packets received" auslesen, eine genau definierte Zeit warten und das dann erneut machen. Dann kannst Du den durchschnittlichen Durchsatz in diesem Intervall berechnen und ausgeben. Je nach gewählter Intervallgröße bekommst Du dann einen im Rahmen Deiner Anforderungen sinnvollen (oder halt unsinnigen) Wert raus.
-
- Beiträge: 40
- Registriert: Mi 7. Feb 2018, 10:31
- OS, Lazarus, FPC: Winux (FPC 3.x)
- CPU-Target: xxBit
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Unter /proc hatte ich als erstes gesucht.
Du meinst also jede Sekunde auslesen dann könnte man den Speed berechnen, das ist richtig. Ich dachte das es schon irgendwo steht.
Dann werde ich das wohl so machen müssen. Obwohl das mit der Sekunde schon genau sein muss, sonst kommt wirklich mist raus.
KB/s in KB/s out
2.23 0.53
Das ist z.b. die Ausgabe von ifstat. Mal sehen ob das ding irgendwelche Parameter hat das er das nur einmal ausgibt.
Du meinst also jede Sekunde auslesen dann könnte man den Speed berechnen, das ist richtig. Ich dachte das es schon irgendwo steht.
Dann werde ich das wohl so machen müssen. Obwohl das mit der Sekunde schon genau sein muss, sonst kommt wirklich mist raus.
KB/s in KB/s out
2.23 0.53
Das ist z.b. die Ausgabe von ifstat. Mal sehen ob das ding irgendwelche Parameter hat das er das nur einmal ausgibt.
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Nein, das musst Du wohl selbst auslesen. Also exakt einmal pro Sekunde abfragen und die Differenz bilden, dann hast Du die Bytes pro Sekunde.
-
- Beiträge: 40
- Registriert: Mi 7. Feb 2018, 10:31
- OS, Lazarus, FPC: Winux (FPC 3.x)
- CPU-Target: xxBit
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Danke dir. Dann brauche ich nicht weiter suchen, sondern kann anfangen... 

Re: Geschwindigkeit der Netzwerk-Karte auslesen
Dass das sowieso immer ein recht fragwürdiger Wert ist, weiß jeder, der mal größere Dateien per Windows Explorer übertragen und sich an der Aussagekraft der Geschwindigkeitskurve des Explorer-Fensters "erfreut" hat: sieht schick aus, sagt aber genau *GAR NICHTS*.HK12 hat geschrieben: Do 23. Mai 2024, 16:55 Obwohl das mit der Sekunde schon genau sein muss, sonst kommt wirklich mist raus.

-
- Beiträge: 40
- Registriert: Mi 7. Feb 2018, 10:31
- OS, Lazarus, FPC: Winux (FPC 3.x)
- CPU-Target: xxBit
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Das stimmt wohl. 100% genau wird man es nicht bekommen.
- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Ich würde nicht sagen das man in genau einer Sekunde laufend auslesen muss, sondern man muss sich das Intervall merken, der Rest ist nur rechnen. Damit braucht das nicht so genau sein 

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Geschwindigkeit der Netzwerk-Karte auslesen
Ich glaube, die Betonung muss auf genau liegen, nicht auf Sekunde. Das ist eben ausschließlich vom Anwendungsfall abhängig. Ansonsten stimmt natürlich: "Der Rest ist dann in der Tat nur rechnen."Ich würde nicht sagen das man in genau einer Sekunde laufend auslesen muss, sondern man muss sich das Intervall merken, der Rest ist nur rechnen.
