After building my webapp on a first boot i create 2 connections to mysql on debian then 1-2 (r/w) for every page after that. The connection consistently take 5.2 seconds to connect. Debian is in a VM running in my OS. Why is the connection taking this long?
At times it will take < 0.1 seconds which is great but 5.2 x2-3 on every run is to much. Has anyone experience this problem? how do i solve it?
note: I am using .NET to connect. Not that it matters. and its mysql v5
-edit- After checking firewall settings and doing many things i could not figure the problem out. I found a noinstall release of mysql and used that. Connections are lightning fast.
Obfuscurity may be right. First thing I would check is reverse DNS. To troubleshoot this try setting the --skip-name-resolve flag to mysqld:
http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-name-resolve
Also make sure to add your hostname/ip to /etc/hosts
Are you using a hostname or IP address to connect? Sounds like you might be experiencing slow DNS resolution.
If you are on a debian system, I have noticed that the having the mDNS avahi daemon running can cause issues. I noticed this because I was able to do instant forward and reverse lookups via dig, but still had 5 second timeouts connecting to mysql. Looking at a packet capture, I could see 3 mDNS queries over 5 seconds before the connection succeeded. Disabling or uninstalling the avahi daemon resolved this issue for me.
I would consider reviewing firewall setup on the host machine.
Since this is a VM, it is a possibility that the connection from the web application to the database is being examined by the Firewall or content filter running on Host machine