Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'd noticed for ages that a MySQL database connection over my LAN was significantly slower than a database connection over the Internet.

I'm running Windows 7 32bit and I'm connected to a switch using an Ethernet cable. The switch is connected to a modem/router which is where my Internet connection arrives in the building. I am not using WiFi.

I ran the following code:

//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);

three times which returned the following times:

External WAN database: 0.054498910903931, 0.055356025695801, 0.05623197555542

Internal LAN database: 5.0052859783173, 5.0053160190582, 5.005627155304

The LAN file transfer speed (using Samba to share the drive on the Ubuntu machine) is approx 30MB/s and my broadband connection speed is 35Mbps down and 7Mbps up.

Anecdotally, logging into the local server using SSH is quite laggy.

I don't know what other information you might need, so please ask for more, I'm stumped as to why a local connection is so much slower!

share|improve this question
    
So ssh and database connections are slow to this machine, so this is a network issue rather than a database issue? I'd check the routing table and a mismatch between the physical speed of the interface and the switch port first. –  Paul Jan 20 '12 at 13:06
    
@Paul thanks - managed to track down the issue thanks to Wireshark, Google and Ubuntu's bug tracking website –  Jon Jan 20 '12 at 13:13
add comment

1 Answer

up vote 2 down vote accepted

I used Wireshark to inspect the connection traffic, and found a number of MDNS requests that seemed to be failing.

Subsequently I came across this bug with the Ubuntu Name Service Switch Configuration and changed the /etc/nsswitch.conf file to use mDNS as a last resort as described on the Ubuntu Server Network Configuration page.

Restarting the required services (MySQL, SSH) sped everything up like magic!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.