操作cdb_sessions表,发现大量的locked,直接后果就是mysql无法响应WEB的请求,WEB无法响应浏览器端的请求。
太壮观:
+-------+------+-----------+--------+---------+------+--------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+------+-----------+--------+---------+------+--------+------------------------------------------------------------------------------------------------------+
| 84082 | root | localhost | discuz | Query | 54 | update | INSERT INTO cdb_sessions (sid, ip1, ip2, ip3, ip4, uid, username, groupid, styleid, invisible, acti |
| 84083 | root | localhost | discuz | Query | 54 | Locked | DELETE FROM cdb_sessions WHERE sid='Z71z19' OR lastactivity<(1245657270-900) OR ('0'<>'0' AND uid=' |
| 84084 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84086 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84085 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84087 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84088 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84089 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84090 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84091 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84092 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84093 | root | localhost | discuz | Query | 54 | Locked | DELETE FROM cdb_sessions WHERE sid='wsX92s' OR lastactivity<(1245657270-900) OR ('0'<>'0' AND uid=' |
| 84095 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84096 | root | localhost | discuz | Query | 54 | Locked | DELETE FROM cdb_sessions WHERE sid='Ra5ZqL' OR lastactivity<(1245657270-900) OR ('0'<>'0' AND uid=' |
| 84094 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
| 84097 | root | localhost | discuz | Query | 54 | Locked | SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, l |
| 84100 | root | localhost | discuz | Query | 54 | Locked | SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, l |
| 84099 | root | localhost | discuz | Query | 54 | Locked | SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM cdb_sessions WHERE uid <> 0 |
最为BT的是,这些locked形成之后,必须重启mysql才行


真汗,忘记填写Email提交后退内容全没了:(
重新写。
cdb_seesions表是MEMORY类型,是内存操作,一般不会出现这么恐怖的锁表情况的,我见过很多15分钟在线过K的也没什么问题的。
建议检查一下cdb_sessions表是否有问题,是否类型不是MEMORY了。删除这个表重新建立一个吧。
另外,看看在线保持时间是否设置太小了?这个值设置小的话相对统计在线比较精确但也会造成频繁的update操作。一般K级的在线,15分钟就可以了。
还有就是,你是否使用的是远程链接数据库?如果是的话,尝试使用ip进行连接,关闭mysql的反向解析。
最后,尝试更改连接数据库的方式,如果是持久链接改成非持久连接。
希望能对你有帮助。
表已经重建过了。
问题比较奇怪:
单独浏览不会出现,单独发帖也不会出现,发帖与浏览同时操作时才会出现这种情况。
当然,也可能与我进行压力测试的压力有关。
谢谢你的帮助。
索引~我记得discuz的那些表默认是没有多少索引的~检查下索引。
cdb_sessions表建索引不大现实,它删除与select的条件过多,不可能每个字段都加索引的~~~~
居然有那么多的lock…
貌似我也出现这个问题。。。- – 楼主解决了吗?
能否分享下方法。。
@陈默,
没解决,一直放着呢,现在还没有那么大的量。。[face:12]
单独浏览不会出现,单独发帖也不会出现,发帖与浏览同时操作时才会出现这种情况
。。。。。。
关注中
我也是啊,楼主和我一样的!
http://bbs2.chinaunix.net/viewthread.php?tid=1358965