Discuz论坛之大坑!各位坛主请注意!
阅读原文时间:2021年04月20日阅读:1

今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到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引擎在没有使用到索引的情况下,会转为表级锁,并发一大,线程处理不完,连接不释放,连接数就会上升。

最终让开发在后台关闭该功能,解决之。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章