Michl: Skript / Dienst zur Ermittlung der Verbindungs-Geschwindigkeit

Hallo,

kennt jemand eine Bibliothek / einen Dienst (darf auch was kosten), mit dem man die Verbindungsgeschwindigkeit ( ~ Bandbreite) ermitteln kann?

Wäre gut, wenn Verbindungen über mehrere Server gemessen würden.

Visualisierung kann ich ggf. selber übernehmen, wichtiger wäre die Routine zur Ermittlung des Quotienten.

Gibt es dafür eine Bibliothek zum Einbinden oder auch einen Dienst von einem kommerziellen Anbieter?

Gruß Michl

  1. kennt jemand eine Bibliothek / einen Dienst (darf auch was kosten), mit dem man die Verbindungsgeschwindigkeit ( ~ Bandbreite) ermitteln kann?

    Geschwindigkeit von was? Lade einfach eine etwas größere Datei von dem gewünschten Server herunter, dann hast du die Geschwindigkeit.

    1. Geschwindigkeit von was?

      Es geht um die Bandbreite. Rauskommen sollte eine Angabe zur Datenmenge, die durch die Leitung pro Zeiteinheit durchkommt.

      Lade einfach eine etwas größere Datei von dem gewünschten Server herunter, >dann hast du die Geschwindigkeit.

      Bei nur einer Datei von einem Server kommen in nicht zu vernachlässigendem Maße Verzerrungen wie die aktuelle Auslastung des Servers sowie die jeweilige max. Server-Leistung an sich ins Spiel. Ich denke da mehr an einen Durchschnittswert über eine größere Menge von Servern...
      (Womit ein Bezahldienst erforderlich werden könnte, wobei die Kosten kein Problem wären.)

      1. Geschwindigkeit von was?

        Es geht um die Bandbreite. Rauskommen sollte eine Angabe zur Datenmenge, die durch die Leitung pro Zeiteinheit durchkommt.

        Das geht nun mal nicht anders als diese tatsächlich zu messen.

        (Womit ein Bezahldienst erforderlich werden könnte, wobei die Kosten kein Problem wären.)

        Auch der Anbieter könnte nur Daten abrufen und/oder senden und messen, was wie schnell ankommt. Dabei entsteht das Dir bekannte Problem. Und vor allem würde der mit messen, wie gut er selbst angebunden ist.

        Die nächste Frage, die entsteht, ist die, wo der Anbieter denn seine Mess-Server hat. Stehen die z.B. in Südamerika , dann bekommst Du allenfalls brauchbare Aussagen über die mögliche Bandbreite, Latenzen etc. für Verbindungen nach Südamerika. Der Anbieter müsste also seine Mess-Server da stehen haben, wo die (potentiellen) Gegenstellen zu Deinen Servern stehen, am besten im selben Ort, am besten im selben Netz. Alles andere bringt keine wirklich zutreffende Aussage.

        Sind die (potentiellen) Gegenstellen zu Deinen Servern aber z.B. mit DSL angebundene Kunden in Deutschland, dann kann schon wget braucbare Ergebnisse liefern. Du musst halt über einen Tag verteilt mehrfach messen.

        Ein stündliches

        ~> wget -O /dev/null http://www.example.com/100kb.txt 2>&1 | grep "gespeichert" | cut -d " " -f3,4 | tr -d "("  | tr -d ")" >> 100kb.stat.txt

        über den Tag verteilt (z.B. per cron-Job) sollte z.B. für das http-Protokoll brauchbare Ergebnisse bringen. (Falls Dein gzip "deutsche" Ausgaben macht)

        Zudem solltest Du bei kleinen Dateien/Datenmengen Du den Befehl immer kurz nacheinander wiederholen um Unterschiede zu vermeiden, falls der eine Server die Datei im Cache hat, während der andere erst das Dateisystem durchwühlen muss.

        Beachte bitte auch dass wget dann zu Deinen Anforderungen passende header senden muss. Es ist ein Unterschied, ob. z.B. gepackte Dateien akzeptiert werden, wenn Deine Datei 100kb.txt gut komprimierbar ist. Sie ist es nicht, wenn Du diese z.b. mit
        ~> dd if=/dev/urandom of=100kb.txt bs=1024 count=100
        herstellst. (nach gzip: 102448 bytes)
        Sie ist es, wenn Du diese mit
        ~> dd if=/dev/zero of=100kb.txt bs=1024 count=100
        herstellst. (nach gzip: 145 bytes)

        Fred