5

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.

4 Answers 4

6

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

1
  • We had this problem. On every connect (even if you are using IP's) the mysqld server will do a reverse lookup of your IP. If you add skip-name-resolve to the my.cnf file it will skip this. The DNS timeout is 5 seconds.
    – Slashterix
    Oct 19, 2010 at 21:43
3

Are you using a hostname or IP address to connect? Sounds like you might be experiencing slow DNS resolution.

1
  • but its... on my local comp and VM. Not even the network. I am specifying ip address and the host is win7
    – user274
    May 23, 2010 at 21:38
1

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.

0

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

You must log in to answer this question.