Ich hatte lange bemerkt, dass eine MySQL-Datenbankverbindung über mein LAN wesentlich langsamer war als eine Datenbankverbindung über das Internet.
Ich verwende Windows 7 32-Bit und bin über ein Ethernet-Kabel mit einem Switch verbunden. Der Switch ist mit einem Modem / Router verbunden, über den meine Internetverbindung im Gebäude ankommt. Ich benutze kein WiFi.
Ich habe folgenden Code ausgeführt:
//store current time
$start = microtime(true);
//connect to database outside my LAN
$c1 = mysql_connect("1.2.3.4", "user1", "pass1");
mysql_select_db("database1", $c1);
//print out the time taken in seconds
echo microtime(true) - $start, "<br>";
//close the database connection
mysql_close($c1);
//store current time
$start2 = microtime(true);
//connect to database on my LAN
$c2 = mysql_connect("192.168.0.10", "user2", "pass2");
mysql_select_db("database2", $c2);
//print out time taken in seconds
echo microtime(true) - $start2, "<br>";
//close database connection
mysql_close($c2);
dreimal, was zu folgenden Zeiten führte:
Externe WAN-Datenbank: 0,054498910903931, 0,055356025695801, 0,05623197555542
Interne LAN-Datenbank: 5.0052859783173, 5.0053160190582, 5.005627155304
Die Übertragungsgeschwindigkeit für LAN-Dateien (mit Samba wird das Laufwerk auf dem Ubuntu-Computer gemeinsam genutzt) beträgt ca. 30 MB / s, und meine Breitbandverbindungsgeschwindigkeit beträgt 35 MB / s nach unten und 7 MB / s nach oben.
Anekdotisch ist die Anmeldung beim lokalen Server mit SSH ziemlich verzögert.
Ich weiß nicht, welche anderen Informationen Sie möglicherweise benötigen. Bitte fragen Sie nach weiteren Informationen. Ich bin ratlos, warum eine lokale Verbindung so viel langsamer ist.