Ich habe einen Webserver mit einer aktuellen Verbindung von 100 Mbit und mein Provider bietet ein Upgrade auf 1 Gbit an. Ich verstehe, dass sich dies auf den Durchsatz bezieht, aber je größer die Pakete sind, desto schneller können sie auch übertragen werden. Daher würde ich eine leichte Verkürzung der Antwortzeit erwarten (z. B. Ping). Hat das jemals jemand verglichen?
Beispiel (100 MBit bis 100 MBit Server) mit 30 Byte Last:
> ping server -i0.05 -c200 -s30
[...]
200 packets transmitted, 200 received, 0% packet loss, time 9948ms
rtt min/avg/max/mdev = 0.093/0.164/0.960/0.093 ms
Beispiel (100 MBit bis 100 MBit Server) mit 300 Byte Last (unterhalb der MTU):
> ping server -i0.05 -c200 -s300
[...]
200 packets transmitted, 200 received, 0% packet loss, time 10037ms
rtt min/avg/max/mdev = 0.235/0.395/0.841/0.078 ms
Also von 30 bis 300 der Durchschnitt. Die Latenz steigt von 0,164 auf 0,395 - ich würde erwarten, dass dies für eine Verbindung zwischen 1 und 1 Gbit langsamer zunimmt. Ich würde sogar erwarten, dass 100 MBit bis 1 GBit schneller sind, wenn die Verbindung über einen Switch erfolgt, der zuerst wartet, bis er das gesamte Paket empfangen hat.
Update: Bitte lesen Sie die Kommentare zu den Antworten sorgfältig durch! Die Verbindung ist nicht gesättigt, und ich denke nicht, dass diese Geschwindigkeitssteigerung für Menschen für eine Anfrage von Bedeutung ist, aber es geht um viele Anfragen, die sich summieren (Redis, Datenbank usw.).
Zur Antwort von @LatinSuD :
> ping server -i0.05 -c200 -s1400
200 packets transmitted, 200 received, 0% packet loss, time 9958ms
rtt min/avg/max/mdev = 0.662/0.866/1.557/0.110 ms
quelle
Antworten:
Die Latenz würde nur dann spürbar sinken, wenn die aktuelle 100-Mbit-Verbindung gesättigt ist. Wenn es nicht gesättigt ist, werden Sie wahrscheinlich keine Änderung bemerken.
Außerdem ist Ihre Annahme, dass die 1-Gbit-Verbindung größere Pakete unterstützen kann, falsch. Die maximale Paketgröße wird von der MTU der verschiedenen Geräte auf dem Weg bestimmt, den das Paket nimmt - angefangen von der Netzwerkkarte auf Ihrem Server bis hin zur MTU des Computers Ihres Kunden. In internen LAN-Anwendungen (wenn Sie die Kontrolle über alle Geräte entlang des Pfads haben) ist es manchmal möglich, die MTU zu erhöhen. In dieser Situation bleibt die Standard-MTU von 1500 jedoch ziemlich hängen. Wenn Sie Pakete senden, die größer als sind Dadurch werden sie fragmentiert, wodurch die Leistung tatsächlich abnimmt.
quelle
JA gbit hat eine geringere Latenz, da:
ABER die Verbesserung ist nur spürbar, wenn die Pakete eine bestimmte Größe haben:
Wenn Sie also eine Anwendung haben, die sehr latenzempfindlich ist (4 ms gegenüber 0,8 ms, Roundtrip für 20 KB) und die Übertragung größerer Pakete erfordert, kann der Wechsel von 100 MBit zu GBit zu einer Latenzreduzierung führen, obwohl Sie diese verwenden viel weniger als die 100mbit / s im Durchschnitt (= die Verbindung ist nicht dauerhaft gesättigt).
Server (100 MBit) -> Switch (GBit) -> Server (100 MBit):
Server (gbit) -> Switch (gbit) -> Server (gbit):
= Durchschnittlich über mehrere Server 80% Latenzreduzierung für 20 KB Ping
(Wenn nur einer der Links Gbit ist, haben Sie immer noch eine Latenzreduzierung von 5% für 20-KB-Ping.)
quelle
Ich denke, Sie haben ein grundlegendes Missverständnis über Bandbreitenlatenz und "Geschwindigkeit". Geschwindigkeit ist eine Funktion von Bandbreite und Latenz. Betrachten Sie beispielsweise eine Lieferung von Daten auf DVDs, die im ganzen Land versandt werden und deren Ankunft 3 Tage dauert. Vergleichen Sie das mit dem Senden der Daten über das Internet. Das Internet hat eine Verbindung mit viel geringerer Latenz, aber um die "Geschwindigkeit" der Verbindung mit der Sendung abzugleichen, müssten Sie 9,6 MB pro Sekunde empfangen ( Referenzbeispiel aus dieser Quelle ).
In Ihrem Fall können Sie durch ein Upgrade auf eine höhere Bandbreite mehr gleichzeitige Benutzer bedienen, ohne jedoch die Latenz für einen einzelnen Benutzer zu verbessern.
quelle
Du schaust auf die Welt durch ein Loch. Ein gültiger Test für Latenzunterschiede bei unterschiedlichen Geschwindigkeiten wäre zwischen zwei identischen Netzwerkkarten, die mit einem Querverbindungskabel verbunden sind. Stellen Sie die Rechengeschwindigkeit der Netzwerkkarten auf 10 MB, 100 MB und 1000 MB ein. Dies zeigt, dass es bei den verschiedenen Geschwindigkeiten praktisch keinen Unterschied in der Latenz gibt. Alle Pakete werden unabhängig von der maximal verwendeten Bandbreite mit derselben Drahtgeschwindigkeit übertragen. Sobald Sie Switches mit Store- und Forward-Caching hinzufügen, ändert sich alles. Das Testen der Latenz über einen Switch muss mit nur zwei Verbindungen zum Switch durchgeführt werden. Jeder andere Datenverkehr kann die Latenz Ihres Tests beeinträchtigen. Selbst dann kann der Switch Protokolle verschieben, Pakettypzähler anpassen, die interne Uhr aktualisieren usw. Alles kann die Latenz beeinflussen.
Ja, das Umschalten von 100 MB auf 1 GB kann aufgrund von Hardwareänderungen, unterschiedlicher Netzwerkkarte, unterschiedlichem Switch und unterschiedlichem Treiber schneller sein (geringere Latenz). Ich habe größere Änderungen in der Ping-Latenz aufgrund von Treiberunterschieden gesehen als alle anderen Änderungen. Bandbreite, Switches, Auslagern von Netzwerkkarten usw ..
Der Switch wäre die nächstgrößere Änderung, da der Cut-Through für Einzelübertragungstests erheblich schneller ist als das Speichern und Weiterleiten. Ein gut gestalteter Speicher- und Vorwärtsschalter kann jedoch den Durchschaltschalter in Bezug auf die Gesamtleistung unter hoher Last überholen. In den frühen Tagen des Gigabit habe ich 10 MB Hochleistungs-Backplane-Switches mit geringerer Latenz als billige Gigabit-Switches gesehen.
Ping-Tests sind für die Leistungsanalyse bei Verwendung des Internets praktisch irrelevant. Es handelt sich um schnelle Tests, um eine Vorstellung davon zu bekommen, was zum Zeitpunkt des Tests auf dem Transport passiert. Das Testen der Produktionsleistung ist viel komplizierter als nur ein Ping. Hochleistungs-Switches sind Computer und verhalten sich unter hoher Last unterschiedlich - Änderung der Latenz.
Wenn eine langsamere Netzwerkkarte oder eine Netzwerkkarte auf eine langsamere Geschwindigkeit eingestellt ist, kann dies einem Server bei gleichzeitigen Bursts helfen, indem die Eingabe in den Server mithilfe des Switch-Cache gedrosselt wird. Eine einzelne erneute Übertragung kann eine Verringerung der Latenz aufheben. In der Regel sind mittlere bis hohe Verkehrszahlen wichtig, nicht einzelne Ping-Tests. Beispiel: Altes langsames Sun Ultrasparc (höhere Latenz für einen einzelnen Ping) übertrifft den neuen billigen Gigabit-Desktop, der als Entwicklungsserver verwendet wird, wenn die Bandbreite unter 70% 100 MB liegt. Der Desktop verfügt über eine schnellere Gb-Netzwerkkarte, eine schnellere Verbindung, einen schnelleren Speicher, mehr Speicher, eine schnellere Festplatte und einen schnelleren Prozessor, funktioniert jedoch nicht so gut wie die Hardware / Software der Serverklasse. Dies bedeutet nicht, dass ein aktuell optimierter Server, auf dem gb-gb ausgeführt wird, nicht schneller als alte Hardware ist und sogar größere Durchsatzlasten bewältigen kann. Die Frage nach "
Finden Sie heraus, ob Ihr Provider unterschiedliche Switches für die 100-MB- oder 1-GB-Verbindungen verwendet. Wenn sie dieselbe Switch-Backplane verwenden, würde ich die Erhöhung nur bezahlen, wenn das Verkehrsaufkommen die niedrigere Bandbreite überschreitet. Andernfalls stellen Sie möglicherweise fest, dass in kurzer Zeit viele andere Benutzer auf Gigabit umschalten und die wenigen Benutzer, die auf dem alten Switch verbleiben, jetzt eine höhere Leistung aufweisen - geringere Latenz bei hoher Auslastung des Switches (Gesamtlast des Switches, nicht nur auf Ihre Server) ).
Beispiel für Äpfel und Orangen: Der lokale ISP stellte einen neuen Switch für gebündelte Dienste, DSL und Telefon bereit. Anfänglich konnten die Benutzer eine Leistungssteigerung verzeichnen. System war überverkauft. Jetzt haben Benutzer, die auf dem alten Switch verbleiben, eine höhere konsistente Leistung. In der späten Nacht sind die Benutzer des neuen Systems schneller. Am Abend unter hoher Last übertreffen die alten Switch-Clients das neue überlastete System deutlich.
Eine geringere Latenz korreliert nicht immer mit einer schnelleren Lieferung. Sie erwähnen MySQl in den 20 Anfragen, eine einzelne Seite zu bedienen. Dieser Datenverkehr sollte sich nicht auf derselben Netzwerkkarte befinden wie die Seitenanforderungen. Durch das Verschieben des gesamten internen Datenverkehrs in ein internes Netzwerk werden Kollisionen und die Gesamtzahl der Pakete auf der ausgehenden Netzwerkkarte reduziert und größere Gewinne erzielt als der Latenzgewinn von 0,04 ms eines einzelnen Pakets. Reduzieren Sie die Anzahl der Anforderungen pro Seite, um die Latenz beim Laden von Seiten zu verringern. Komprimieren Sie die Seiten, HTML, CSS, Javascript und Bilder, um die Ladezeiten der Seiten zu verringern. Diese drei Änderungen führen zu größeren Gesamtgewinnen als die Bezahlung der Bandbreite, die nicht zur Reduzierung der Latenz von 0,04 ms verwendet wird. Der Ping muss 24 Stunden laufen und gemittelt werden, um die tatsächliche Latenzzeitänderung zu sehen. Intelligente Switches führen jetzt eine adaptive Drosselung vom Typ RTSP mit kleinen anfänglichen Bandbreitenerhöhungen und großen gedrosselten Übertragungen durch. Abhängig von Ihrer Seitengröße (Grafik, großes HTML / CSS / Javascript) sehen Sie möglicherweise anfängliche Verbindungslatenzen / Bandbreiten, die viel niedriger / höher sind als bei einer großen Seite oder bei der Übertragung ganzer Seiten. Wenn ein Teil Ihrer Seite gestreamt wird, kann es zu einer drastisch unterschiedlichen Leistung zwischen der Seite und dem Stream kommen.
quelle
Nehmen wir 300-Byte-Pakete an (wenn Sie es verwenden
-s 300
, wäre es aufgrund von Headern tatsächlich größer).0,024 ms ist ungefähr die tatsächliche Zeit, die zum Senden des Frames erforderlich ist (ohne Berücksichtigung der mittleren Zugriffszeit oder der Header).
In einer Ping-Pong-Sequenz würde die doppelte Zeit (0,048 ms) plus der Zeit benötigt, die das Betriebssystem benötigt, um die Abfrage zu verarbeiten.
Das bedeutet für mich, dass Ihre Latenz durch 90% mehrerer Overhead-Faktoren verursacht wird. Ich bin mir nicht sicher, ob Sie einen großen Unterschied zu Gb sehen werden. Ein wahrscheinlich weniger als 1 ms Unterschied wird auf einem Webserver nicht wahrnehmbar sein.
Wie auch immer, könnten Sie es mit einem wirklich großen Paket wie 1400 Byte versuchen?
quelle
Dies hängt von der Art des Switches ab, mit dem Sie eine Verbindung herstellen. Bei einigen Anbietern (wie Crisco ... ich meine Cisco) fließen ICMP-Pakete zurück zur CPU ( gag ).
Möglicherweise ist es besser, einen Host-zu-Host-Test mit einer 100-Mbit / s- und 1-Gbit / s-Verbindung durchzuführen (dh keinen Host-zu-Switch- oder Host-zu-Router-Test).
Am Ende des Tages hängt die Latenz von der Weiterleitungsrate auf dem Switch und den Einzelheiten der Switch-Architektur ab (wo die ASICs auf der Platine platziert sind, wie das Sperren zwischen Leitungskarten gehandhabt wird usw.). Viel Glück beim Testen.
quelle