I am new at drupal and at the whole IT thing, so if you explain what I need to do, please kindly use layman's language. My website is hosted on a virtual server cloud. Devel showed cache_set tables taking more than 12ms. Also, my cPanel showed the following:

mysql> show processlist;
+------+-----------------+-----------+---------------------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+-----------------+-----------+---------------------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 977 | rp1 | localhost | rpw| Query | 102 | Copying to tmp table | SELECT u.uid, u.name, u.picture, count(*) as node_count FROM users u JOIN node n ON n.uid = u.uid JO |
| 1002 | rp1| localhost | rpw| Query | 148 | Copying to tmp table | SELECT u.uid, u.name, u.picture, count(*) as node_count FROM users u JOIN node n ON n.uid = u.uid JO |
| 1003 | rp1| localhost | rpw| Query | 150 | Copying to tmp table | SELECT u.uid, u.name, u.picture, count(*) as node_count FROM users u JOIN node n ON n.uid = u.uid JO |
| 1004 | rp1| localhost | rpw| Query | 157 | Copying to tmp table | SELECT u.uid, u.name, u.picture, count(*) as node_count FROM users u JOIN node n ON n.uid = u.uid JO |
| 1012 | rp1| localhost | rpw| Query | 159 | Copying to tmp table | SELECT DISTINCT(node.nid) AS nid_1,
node.nid AS nid,
node.title AS node_title,
node.language AS node |
| 1022 | rp1| localhost | rpw| Query | 153 | Copying to tmp table | SELECT DISTINCT(node.nid) AS nid_1,
node.nid AS nid,
node.title AS node_title,
node.language AS node |
| 1033 | rp1| localhost | rpw| Query | 154 | Copying to tmp table | SELECT DISTINCT(node.nid) AS nid_1,
node.nid AS nid,
node.title AS node_title,
node.language AS node |
| 1034 | rp1| localhost | rpw| Query | 161 | Copying to tmp table | SELECT DISTINCT(node.nid) AS nid_1,
node.nid AS nid,
node.title AS node_title,
node.language AS node |
| 1139 | leechprotect | localhost | leechprotect | Sleep | 2931 | | NULL |
| 1182 | rp1| localhost | rpw| Query | 1097 | Copying to tmp table | SELECT COUNT(*) FROM (SELECT DISTINCT(node.nid) AS nid_1,
node.nid AS nid,
node.title AS node_title, |
| 1321 | rp1| localhost | rpw| Query | 35 | Locked | UPDATE users SET access = 1325713889 WHERE uid = 4 |
| 1350 | rp1| localhost | rpw| Query | 33 | Locked | UPDATE users SET access = 1325713891 WHERE uid = 4 |
| 1480 | rp1| localhost | rpw| Query | 108 | Locked | UPDATE node_counter SET daycount = daycount + 1, totalcount = totalcount + 1, timestamp = 1325713816 |
| 1486 | root | localhost | NULL | Query | 0 | NULL | show processlist |
| 1489 | rp1| localhost | rpw| Query | 32 | Locked | SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = 'dd8c602e7dd899a2a |

Comments

lahhrs’s picture

Hi,

we have a quite similar problem... did you solve this?

Greeting Lars

jec006’s picture

Hi Guys,

I don't see anything particularly telling there, other than that a large number of temp tables are being created. It may be that the mysql server that is running doesn't have enough resources to keep up with your current traffic levels.

I am not surprised by the cache_table insert taking a while, but ideally its not happening often. Those 'Locked' things mean that the table is locked because its being written into right now. They prevent you from reading / writing to a table that is currently being updated.

Things you can do to improve performance are:

Add caching - turn on drupal page / block caching, and finally add a static cache like varnish
Add more memory to your database server

Without being able to see your specific setup its going to be hard to get much more specific than that.

jec006’s picture

Status: Active » Postponed (maintainer needs more info)
jec006’s picture

Issue summary: View changes

revision