Momentan versuchen wir zu entscheiden, ob unser Rechenzentrum von der Westküste an die Ostküste verlegt werden soll.
Von meinem Standort an der Westküste bis zur Ostküste sehe ich jedoch einige störende Latenzzeiten. Hier ist ein Beispielergebnis, bei dem eine kleine PNG-Logodatei in Google Chrome abgerufen und mithilfe der Entwicklungstools überprüft wird, wie lange die Anforderung dauert:
- Westküste bis Ostküste:
215 ms Latenz, 46 ms Übertragungszeit, insgesamt 261 ms - Westküste zu Westküste:
114 ms Latenz, 41 ms Übertragungszeit, insgesamt 155 ms
Es ist sinnvoll, dass Corvallis, OR geografisch näher an meinem Standort in Berkeley, CA, liegt. Daher erwarte ich, dass die Verbindung etwas schneller hergestellt werden kann. Bei der Durchführung des gleichen Tests mit dem NYC ist jedoch eine Latenzerhöhung von + 100 ms zu verzeichnen Server. Das kommt mir ... übertrieben vor. Zumal der Zeitaufwand für die Übertragung der eigentlichen Daten nur um 10% gestiegen ist, die Latenz jedoch um 100%!
Das fühlt sich für mich ... falsch an.
Ich habe hier ein paar Links gefunden, die hilfreich waren (über Google nicht weniger!) ...
- Beeinträchtigt die Routing-Distanz die Leistung erheblich?
- Wie wirkt sich die Geografie auf die Netzwerklatenz aus?
- Latenz bei Internetverbindungen von Europa nach USA
... aber nichts Maßgebendes.
Also ist das normal? Es fühlt sich nicht normal an. Was ist die "typische" Latenz, die ich beim Verschieben von Netzwerkpaketen von der Ostküste <-> Westküste der USA erwarten sollte?
quelle
Antworten:
Lichtgeschwindigkeit:
Sie werden die Lichtgeschwindigkeit nicht als einen interessanten akademischen Punkt übertreffen. Über diesen Link gelangen Sie von Stanford nach Boston zur bestmöglichen Zeit (~ 40 ms). Als diese Person die Berechnung durchführte, entschied sie, dass das Internet ungefähr "innerhalb eines Faktors von zwei der Lichtgeschwindigkeit" betrieben wird, so dass eine Übertragungszeit von ungefähr 85 ms vorliegt.
TCP-Fenstergröße:
Wenn Sie Probleme mit der Übertragungsgeschwindigkeit haben, müssen Sie möglicherweise die TCP-Größe des Empfangsfensters erhöhen. Möglicherweise müssen Sie auch die Fensterskalierung aktivieren, wenn es sich um eine Verbindung mit hoher Bandbreite und hoher Latenz handelt ("Long Fat Pipe"). Wenn Sie also eine große Datei übertragen, benötigen Sie ein ausreichend großes Empfangsfenster, um die Pipe zu füllen, ohne auf Fensteraktualisierungen warten zu müssen. Ich ging in meiner Antwort Tuning an Elephant auf einige Details ein, wie man das berechnet .
Geografie und Latenzzeit:
Einige CDNs (Content Distribution Networks) weisen den Nachteil auf, dass sie Latenzzeit und Geografie gleichsetzen. Google eine Menge Forschung mit ihrem Netzwerk hat und fand Fehler in diesem veröffentlichten sie die Ergebnisse in dem Whitepaper Bewegen über End-to-End - Pfad Informationen CDN Leistung zu optimieren :
BGP-Peerings:
Auch wenn Sie anfangen, BGP (Core Internet Routing Protocol) zu studieren und wie ISPs Peerings wählen, werden Sie feststellen, dass es oft mehr um Finanzen und Politik geht, sodass Sie möglicherweise nicht immer die 'beste' Route zu bestimmten geografischen Standorten finden auf Ihrem ISP. Sie können mithilfe eines Spiegel-Routers überprüfen, wie Ihre IP-Adresse mit anderen ISPs (autonomen Systemen) verbunden ist . Sie können auch einen speziellen whois-Service nutzen :
Es macht auch Spaß, diese als Peerings mit einem GUI- Tool wie linkrank zu erkunden. Es gibt Ihnen ein Bild des Internets um Sie herum.
quelle
Diese Seite würde eine typische Latenz von ca. 70-80 ms zwischen der Ost- und Westküste der USA vermuten lassen (zum Beispiel von San Francisco nach New York).
Hier sind meine Zeiten (ich bin in London, England, meine Westküstenzeiten sind also höher als in Ost). Ich erhalte einen Latenzunterschied von 74 ms, der den Wert dieser Site zu unterstützen scheint.
Diese wurden mit Google Chrome-Entwicklungstools gemessen.
quelle
71 ms
dabei, also hast du recht - wir können nicht erwarten, dass es besser geht.Messen Sie nach Möglichkeit zuerst mit ICMP. ICMP-Tests verwenden in der Regel standardmäßig eine sehr kleine Nutzlast, verwenden keinen Drei-Wege-Handshake und müssen nicht wie HTTP über den Stack mit einer anderen Anwendung interagieren. In jedem Fall ist es äußerst wichtig, dass HTTP-Ergebnisse nicht mit ICMP-Ergebnissen verwechselt werden. Sie sind Äpfel und Orangen.
Anhand der Antwort von Rich Adams und der von ihm empfohlenen Website können Sie erkennen, dass der ICMP-Verkehr auf dem Backbone von AT & T 72 ms benötigt, um sich zwischen den Endpunkten von SF und NY zu bewegen. Das ist eine faire Zahl, aber Sie müssen bedenken, dass dies in einem Netzwerk geschieht, das vollständig von AT & T kontrolliert wird. Der Übergang zu Ihrem Heim- oder Büronetzwerk wird nicht berücksichtigt.
Wenn Sie in Ihrem Quellennetzwerk einen Ping an careers.stackoverflow.com senden, sollten Sie etwas sehen, das nicht zu weit von 72 ms entfernt ist (möglicherweise +/- 20 ms). Wenn dies der Fall ist, können Sie wahrscheinlich davon ausgehen, dass der Netzwerkpfad zwischen Ihnen beiden in Ordnung ist und in normalen Bereichen ausgeführt wird. Wenn nicht, geraten Sie nicht in Panik und messen Sie an einigen anderen Orten. Es könnte Ihr ISP sein.
Angenommen, dies ist erfolgreich, besteht Ihr nächster Schritt darin, die Anwendungsschicht in Angriff zu nehmen und festzustellen, ob mit dem zusätzlichen Overhead, den Sie bei Ihren HTTP-Anforderungen sehen, etwas nicht stimmt. Dies kann von App zu App aufgrund von Hardware, Betriebssystem und Anwendungsstapel variieren. Da Sie jedoch an der Ost- und der Westküste über ungefähr identische Geräte verfügen, können Benutzer der Ostküste die Server der Westküste und Benutzer der Westküste die Ostküste treffen Küste. Wenn beide Sites richtig konfiguriert sind, würde ich erwarten, dass alle Zahlen weniger gleich sind und daher zeigen, dass das, was Sie sehen, ziemlich grob ist.
Wenn diese HTTP-Zeiten sehr unterschiedlich sind, würde ich mich nicht wundern, wenn auf der Website mit der langsameren Leistung ein Konfigurationsproblem auftritt.
Jetzt, wenn Sie an diesem Punkt angelangt sind, können Sie versuchen, eine aggressivere Optimierung auf der App-Seite durchzuführen, um zu sehen, ob diese Zahlen überhaupt reduziert werden können. Wenn Sie beispielsweise IIS 7 verwenden, nutzen Sie die Cache-Funktionen usw.? Vielleicht könntest du dort etwas gewinnen, vielleicht auch nicht. Wenn es darum geht, Elemente auf niedriger Ebene wie z. B. TCP-Fenster zu optimieren, bin ich sehr skeptisch, dass dies erhebliche Auswirkungen auf so etwas wie Stapelüberlauf haben würde. Aber hey - Sie werden es nicht wissen, bis Sie es versuchen und messen.
quelle
Einige der Antworten hier verwenden Ping und Traceroute für ihre Erklärungen. Diese Tools haben ihren Platz, sind jedoch für die Messung der Netzwerkleistung nicht zuverlässig.
Insbesondere senden (zumindest einige) Juniper-Router die Verarbeitung von ICMP-Ereignissen an die Steuerebene des Routers. Dies ist VIEL langsamer als die Weiterleitungsebene, insbesondere in einem Backbone-Router.
Unter anderen Umständen kann die ICMP-Antwort viel langsamer sein als die tatsächliche Weiterleitungsleistung eines Routers. Stellen Sie sich zum Beispiel einen All-Software-Router vor (keine spezialisierte Weiterleitungshardware), der 99% der CPU-Kapazität aufweist, aber dennoch den Datenverkehr in Ordnung bringt. Möchten Sie, dass es viele Zyklen mit der Verarbeitung von Traceroute-Antworten oder der Weiterleitung von Datenverkehr verbringt? Die Verarbeitung der Antwort hat daher eine sehr niedrige Priorität.
Infolgedessen gibt Ping / Traceroute Ihnen vernünftige Obergrenzen - die Dinge verlaufen zumindest so schnell - aber sie sagen Ihnen nicht wirklich, wie schnell der echte Verkehr läuft.
In jedem Fall -
Hier ist ein Beispiel für eine Route von der University of Michigan (Zentral-USA) nach Stanford (Westküste der USA). (Es passiert Washington, DC (Ostküste der USA), das 500 Meilen in der "falschen" Richtung ist.)
Insbesondere beachten Sie die Zeitdifferenz zwischen dem trace ergibt mich aus der Wasch Router und dem atla Router (Hops 7 & 8). der netzwerkpfad geht erst zum waschen und dann zum atla. Waschen dauert 50-100ms, um zu reagieren, atla dauert etwa 28ms. Atla ist eindeutig weiter weg, aber seine Traceroute-Ergebnisse deuten darauf hin, dass es näher ist.
Unter http://www.internet2.edu/performance/ finden Sie zahlreiche Informationen zur Netzwerkmessung. (Haftungsausschluss, ich habe für internet2 gearbeitet). Siehe auch: https://fasterdata.es.net/
Um der ursprünglichen Frage eine besondere Relevanz zu verleihen ... Wie Sie sehen, hatte ich eine Ping-Zeit von 83 ms nach Stanford, sodass wir wissen, dass das Netzwerk zumindest so schnell gehen kann.
Beachten Sie, dass der Pfad des Forschungs- und Bildungsnetzwerks, den ich auf dieser Traceroute eingeschlagen habe, wahrscheinlich schneller ist als ein Standard-Internetpfad. R & E-Netzwerke überlasten im Allgemeinen ihre Verbindungen, was eine Pufferung in jedem Router unwahrscheinlich macht. Beachten Sie auch den langen physischen Pfad, der länger ist als von Küste zu Küste, obwohl er eindeutig für den tatsächlichen Verkehr repräsentativ ist.
michigan-> washington, dc-> atlanta-> houston-> los angeles-> stanford
quelle
Ich sehe beständige Unterschiede und sitze in Norwegen:
Dies wurde mit der wissenschaftlich genauen und bewährten Methode gemessen, bei der die Ressourcenansicht von Google Chrome verwendet und jeder Link nur wiederholt aktualisiert wurde.
Traceroute zum Serverfehler
Traceroute zu Karrieren
Leider geht es jetzt in eine Schleife oder so und gibt weiterhin Sterne und Auszeit, bis 30 Hops und endet dann.
Beachten Sie, dass die Traceroutes von einem anderen Host stammen als zu Beginn. Ich musste RDP auf meinem gehosteten Server ausführen, um sie auszuführen
quelle
Ich sehe eine Latenz von ca. 80-90 ms auf gut geführten, gut gemessenen Verbindungen zwischen der Ost- und der Westküste.
Es wäre interessant zu sehen, wo Sie Latenz gewinnen - probieren Sie ein Werkzeug wie Layer-4-Traceroute (LFT). Die Chancen stehen gut, dass ein Großteil davon auf der "letzten Meile" (dh bei Ihrem lokalen Breitbandanbieter) gewonnen wird.
Es ist zu erwarten, dass die Übertragungszeit nur geringfügig beeinflusst wurde - Paketverlust und Jitter sind nützlichere Messwerte, um die Unterschiede der Übertragungszeit zwischen zwei Standorten zu untersuchen.
quelle
Nur zum Spaß, als ich das Onlinespiel Lineage 2 NA aus Europa heraus gespielt habe:
Der Unterschied scheint zu stützen, dass bis zu 100 ms in Anbetracht der unvorhersehbaren Natur des Internets in Ordnung sind.
Mit dem bewährten Chrome-Aktualisierungstest erhalte ich eine Dokumentladezeit, die sich von ungefähr 130 ms unterscheidet.
quelle
Jeder hier hat einen wirklich guten Punkt. und sind richtig in ihrer eigenen POV.
Und es kommt alles darauf an, dass es hier keine wirkliche exakte Antwort gibt, da es so viele Variablen gibt, dass jede Antwort immer als falsch erwiesen werden kann, wenn nur eine von hundert Variablen geändert wird.
Wie die 72-ms-Latenzzeit von NY zu SF ist die Latenzzeit von PoP zu PoP eines Trägers eines Pakets. Dies berücksichtigt keine der anderen wichtigen Punkte, auf die einige hier hingewiesen haben, wie zum Beispiel Überlastung, Paketverlust, Dienstgüte, Pakete in der falschen Reihenfolge oder Paketgröße oder Netzwerkumleitung zwischen der perfekten Welt von PoP und PoP .
Und dann, wenn Sie die letzte Meile (im Allgemeinen viele Meilen) vom PoP zu Ihrem tatsächlichen Standort innerhalb der beiden Städte addieren, in denen all diese Variablen viel flüssiger werden, eskalieren sie exponentiell aus vernünftigen Rätselraten heraus!
Als Beispiel habe ich einen Test zwischen NY City und SF im Laufe eines Geschäftstages durchgeführt. Ich habe dies an einem Tag getan, an dem es keine größeren "Zwischenfälle" auf der ganzen Welt gab, die eine Verkehrsspitze verursachen würden. Vielleicht war das in der heutigen Welt kein Durchschnitt! Trotzdem war es mein Test. Tatsächlich habe ich in diesem Zeitraum und während der normalen Geschäftszeiten jeder Küste von einem Geschäftsstandort zum nächsten gemessen.
Zur gleichen Zeit überwachte ich die Nummern der Schaltungsanbieter im Internet.
Die Ergebnisse waren Latenzzahlen zwischen 88 und 100 ms von Tür zu Tür der Geschäftsstandorte. Dies beinhaltete keine Inter-Office-Netzwerk-Latenznummern.
Die Netzwerklatenz des Dienstanbieters lag zwischen 70 und 80 ms. Das heißt, die Latenz der letzten Meile hätte zwischen 18 und 30 ms liegen können. Die genauen Spitzen und Tiefen zwischen den beiden Umgebungen habe ich nicht korreliert.
quelle
NYC Timings:
Verwenden von Chrome über eine Privatverbindung.
Verwenden von lft von einem VPS in einem Rechenzentrum in Newark, New Jersey:
quelle