Maison >base de données >tutoriel mysql > Discuz论坛之大坑!各位坛主请注意!

Discuz论坛之大坑!各位坛主请注意!

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2016-06-07 17:36:291026parcourir

今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。好了,直接上图说下:showprocesslist,满屏显示这条SQL,情急之下,立即pt-kill

今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。

好了,直接上图说下:

wKiom1MsY8-x9OKZAAnGTm-533s096.jpg

show processlist,满屏显示这条SQL,,情急之下,立即pt-kill,先让论坛活下来。顺便想问候下discuz开发,你们真的做了测试了吗,就直接发布了?

wKioL1MsZAzxA95XAAr_EJ44cEU098.jpg

表结构:

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)


wKiom1MsZpPxqnIfAAKDLW5TAPA952.jpg

由于该SQL导致全表扫描,虽然表数据不多1万多行,但InnoDB引擎在没有使用到索引的情况下,会转为表级锁,并发一大,线程处理不完,连接不释放,连接数就会上升。

wKiom1MsZ0mjVOapAADjB8UDJV8038.jpg

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



本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn