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