Ich versuche, ein einfaches Skript zu schreiben, das im Laufe der Zeit Einbrüche im Netzwerkverkehr (sowohl Bandbreite als auch Latenz in beide Richtungen) zwischen zwei beliebigen Hosts in meinem Netzwerk erkennen kann. Gibt es dafür ein Tool?
Bei Bedarf plane ich, einige Client/Server-Skripte in Bash zu schreiben, um diese Tests mit nc
(netcat) durchzuführen. Wenn jedoch eine bereits vorhandene Lösung das erfasst, was ich versuche, lassen Sie es mich bitte wissen.
Zuerst werde ich feststellen, wie viele Daten ich in 1 Sekunde zwischen meinen beliebigen Hosts senden kann. Wir nennen das die „Nutzlast“. Erste Tests zeigen, dass die Nutzlast ca. 50 MB beträgt.
Dann führe ich Folgendes aus:
- Der Client sendet die Nutzlast an den Server.
- Wenn der Server die gesamte Nutzlast empfängt, reagiert er sofort, indem er eine Nutzlast an den Client sendet.
- Wenn der Client die gesamte Nutzlast empfangen hat, wird er 30 Sekunden lang in den Ruhezustand versetzt. Gehen Sie zu 1.
Dabei erhalte ich folgende Daten (bidirektionale Bandbreite & Latenz):
- Durch Aufzeichnen der
time
Ausführungnc
vom Client zum Server in (1) erhalte ich die Bandbreite für das Senden von Daten vom Client zum Server. - Durch Aufzeichnen der
time
Ausführungnc
vom Server zum Client in (2) erhalte ich die Bandbreite zum Senden von Daten vom Server zum Client. - Irgendwie werde ich die Paketlatenz ermitteln, möglicherweise mithilfe eines Überwachungstools oder durch Vergleichen der Zeitstempel zwischen dem ersten Paket der Nutzlast, das von der Quelle gesendet wurde, und dem ersten Paket der Nutzlast, das am Ziel empfangen wurde.
Antwort1
iPerf ist ein gutes Tool für Leistungstests. Anstatt ein Skript zu schreiben, um die Auslastung so zu überwachen, wie Sie es vorschlagen, würde ich mir Nagios ansehen (und PNP4Nagios integrieren, das Benachrichtigungen für Sie sortiert und Ihnen Leistungsdiagramme im Zeitverlauf bereitstellt).
Ich frage mich, wie praktisch es ist, Daten auf diese Weise dauerhaft zwischen Hosts zu verschieben, da dadurch die Bandbreite verschwendet wird, die sonst verfügbar wäre. Wäre es nicht besser, den tatsächlichen Durchsatz der Verbindung zu überwachen und diesen mit Latenz und Paketverlust zu korrelieren, um herauszufinden, ob Sie das bekommen, wofür Sie bezahlen, wenn Sie dies benötigen? (Ich habe ISPs, die – das älteste Spiel im ISP-Buch – versucht haben, darauf zu bestehen, dass das Problem nicht in ihrem Netzwerk lag, mehr als einmal „abgekanzelt“, indem ich dies verwendet habe, insbesondere bei der Überwachung mehrerer Punkte.)
Ich stelle fest, dass Latenz, Paketverlust und Durchsatz zwar nicht völlig voneinander abhängig sind, aber (bei einer Verbindung mit bekannten/vereinbarten/erwarteten Eigenschaften) eine Korrelation zwischen diesen Faktoren besteht.
Antwort2
Sie müssen überprüfen, istiperftut was Sie brauchen.
Basierend auf meinem Verständnis Ihrer Fragen denke ich, dass dies der Fall sein sollte.