作者:手机用户2502863351 | 来源:互联网 | 2018-07-10 06:33
今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。好了,直接上图说下:showprocesslist,满屏显示这条SQL,情急之下,立即pt-kill
今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。好了,直接上图说下:showprocesslist,满屏显示这条SQL,情急之下,立即pt-kill
今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。
好了,直接上图说下:
show processlist,满屏显示这条SQL,,情急之下,立即pt-kill,先让论坛活下来。顺便想问候下discuz开发,你们真的做了测试了吗,就直接发布了?
表结构:
mysql> desc pre_common_session;
+--------------+----------------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+--------------+----------------------+------+-----+---------+-------+
| sid
| char(6)
| NO | PRI |
|
|
| ip1
| tinyint(3) unsigned | NO |
| 0
|
|
| ip2
| tinyint(3) unsigned | NO |
| 0
|
|
| ip3
| tinyint(3) unsigned | NO |
| 0
|
|
| ip4
| tinyint(3) unsigned | NO |
| 0
|
|
| uid
| int(11) unsigned
| NO | MUL | 0
|
|
| username
| char(50)
| NO |
|
|
|
| groupid
| smallint(6) unsigned | NO |
| 0
|
|
| invisible | tinyint(1)
| NO |
| 0
|
|
| action
| tinyint(1) unsigned | NO |
| 0
|
|
| lastactivity | int(10) unsigned
| NO |
| 0
|
|
| lastolupdate | int(10) unsigned
| NO |
| 0
|
|
| fid
| int(11) unsigned
| NO |
| 0
|
|
| tid
| int(11) unsigned
| NO |
| 0
|
|
+--------------+----------------------+------+-----+---------+-------+
14 rows in set (0.00 sec)
由于该SQL导致全表扫描,虽然表数据不多1万多行,但InnoDB引擎在没有使用到索引的情况下,会转为表级锁,并发一大,线程处理不完,连接不释放,连接数就会上升。
最终让开发在后台关闭该功能,解决之。
本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处