PDO rowCount() not working in PHP 5.1.6
MySQL very slow without a reason
Is your MySQL really slow without actually being too busy?
Does your script take very long time to connect to the database?
Do you have lots of RAM, strong CPU, just a little traffic and despite that a very long database response time?
Are you seeing connections with "unauthenticated user" while running show processlist
in MySQL console?
mysql> show processlist;
+------+----------------------+-----------+------+---------+------+-------+------+
| Id | User | Host | db | Command | Time | State | Info |
+------+----------------------+-----------+------+---------+------+-------+------+
| 2047 | unauthenticated user | localhost | myDB | Connect | 81 | | NULL |
| 2049 | unauthenticated user | localhost | myDB | Connect | 81 | | NULL |
| 2050 | unauthenticated user | localhost | myDB | Connect | 76 | | NULL |
...
+------+----------------------+-----------+------+---------+------+-------+------+
131 rows in set (0.00 sec)
If you answered yes to any of the above questions, your MySQL might have a problem with resolving connection’s host name.
When attempt is made for a new connection, MySQL tries to resolve the host name for that request. It takes the IP address and resolves it to a host name (using gethostbyaddr()
). It then takes that host name and resolves it back to the IP address (using gethostbyname()
) and compares to ensure it is the original IP address.
This might considerably increase connection time and slow down your whole application or produce show processlist
results as above. You can easily solve this problem by disabling DNS host name lookups for MySQL. In order to do this you need to run your mysqld with –skip-name-resolve
option or add it to your /etc/mysql/my.cnf
file like that:
[mysqld]
skip-name-resolve
After that running show processlist
will result in "Host" column displaying only IP addresses instead of host names and the connection speed should improve significantly.
Just keep in mind that also you have to change allowed hosts for your database users to proper IP addresses.
For additional information, check out: Lake Worth, Florida computer services