Um klarzustellen:
Ich verwende meinen öffentlichen Hostnamen, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Der Hostname wird in die externe IP meines Servers aufgelöst (z. B. 1.2.3.4). Gehen die Daten, die ich über die MySQL-Verbindung sende / empfange, überhaupt über das Internet? Wäre es schneller, localhost zu verwenden? Wird die Bandbreite meines Servers beansprucht?
linux
networking
mysql
bandwidth
Tom Marthenal
quelle
quelle
Wenn Sie "localhost" als Hostnamen für die Verbindung zu Ihrem MySQL-Server verwenden, verwendet MySQL nicht TCP, sondern Sockets. Dies sollte der schnellste Weg sein, um eine Verbindung zu einem lokal laufenden MySQL-Server herzustellen.
Wenn auf Ihrem Server die externe IP-Adresse "ordnungsgemäß" eingerichtet ist, sich also nicht hinter einer Firewall oder einem Proxy in einem internen Netzwerk befindet, verlässt der Datenverkehr Ihren Server nicht, da er weiß, dass die Ziel-IP-Adresse dasselbe System ist.
quelle
lo
Adapter hergestellt. Dies ist ein Pseudoadapter, der nur für diese Adressen verwendet wird. Ich bin mir nicht sicher über Windows, aber ich denke, es hat etwas ähnliches.Sie erwähnen nichts über Ihre Routing- oder Switching-Ausrüstung, aber Sie könnten sich sehr viel Mühe geben, um sicherzustellen, dass Ihre Daten vor der Rückkehr nach draußen gelangen, aber in Wirklichkeit werden Ihre Daten mit ziemlicher Sicherheit nicht so herauskommen.
quelle
Nein, wenn sich alles auf einer Maschine befindet, verlässt sie die Maschine nicht.
quelle
Wenn Ihre Server-IP-Konfiguration auf dem Computer die öffentliche IP-Adresse verwendet, verlässt kein Datenverkehr den Server.
Wenn Ihre IP-Adresse angegeben ist und Ihr Router über die öffentliche IP-Adresse und Ihr Server über eine interne IP-Adresse verfügt, verlässt mindestens der Datenverkehr wahrscheinlich Ihren Server und wird vom Router auf Ihren Server zurückgespiegelt, sofern der Router die Portreflexion als ausführt Teil der Portweiterleitung - in gewisser Weise verlässt kein Datenverkehr Ihr Netzwerk, aber ein Teil des Datenverkehrs verlässt Ihren Server
Ohne Netzwerk-Setup-Informationen kann ich nicht definitiver sein
quelle
Ziehen Sie Ihr Ethernet-Kabel ab oder trennen Sie Ihr WLAN und versuchen Sie es mit Ihrer Datenbankverbindung. Sie werden Ihre Antwort haben. Keine Aufregung, kein Muss!
quelle
Ihre Ergebnisse können abweichen, aber ich kann problemlos über die externe Adresse auf mein System zugreifen, wenn der Router nicht mit dem Internet verbunden ist. Dazu musste ich jedoch den Router mit der entsprechenden festen IP-Adresse konfigurieren, da diese normalerweise vom ISP über DHCP vergeben wird.
Was die Geschwindigkeitsdifferenz betrifft, sollte die Verwendung von localhost theoretisch schneller sein, da die verschiedenen mit dem Durchlaufen eines Netzwerks verbundenen Overheads beseitigt werden. In Wirklichkeit sollte der Unterschied jedoch so gering sein, dass Sie ihn nie bemerken werden.
quelle
Zusätzlich zu traceroute (bereits erwähnt) können Sie tcpdump oder wireshark verwenden und nach Mysql-Verbindungen Ausschau halten, die von Ihrem Host geroutet werden. Localhost sollte immer schneller sein.
quelle