负载状态100%mysql状态锁表次数高,宝塔面板mysql锁表次数多少正常?

2020-07-19
0评论
/
1726阅读
爱搜啊

如果我们建中大型的网站,最好使用服务器来建网站。很多使用服务器建网站的站长都会遇到这样的问题:自己服务器安装的宝塔面板的内存使用率很高,有时达到90%-100%。

今天查看自己服务器的mysql状态发现锁表次数非常高,

锁表次数:653,所以就试着搜索了下,发现别人动不动都是几十万次的锁表次数

下面是网上别人的锁表次数,达到了40万次,

启动时间
2018/10/23 05:50:49
每秒查询
110
总连接次数
2187956
每秒事务
0
发送
9.22 GB
File
OFF
接收
8.05 GB
Position
OFF
活动/峰值连接数
1/424 若值过大,增加max_connections
线程缓存命中率
99.96% 若过低,增加thread_cache_size
索引命中率
99.96% 若过低,增加key_buffer_size
Innodb索引命中率
98.19% 若过低,增加innodb_buffer_pool_size
查询缓存命中率
OFF 若过低,增加query_cache_size
创建临时表到磁盘
0.00% 若过大,尝试增加tmp_table_size
已打开的表
519 若过大,增加table_cache_size
没有使用索引的量
0 若不为0,请检查数据表的索引是否合理
没有索引的JOIN量
0 若不为0,请检查数据表的索引是否合理
排序后的合并次数
0 若值过大,增加sort_buffer_size
锁表次数
405311 若值过大,请考虑增加您的数据库性能

现在自己服务器的锁表次数还可以,不是很高。

如果mysql状态发现锁表次数真的很高,可以尝试开启redis/memcached/mongo缓存,或者文件缓存

宝塔面板mysql锁表次数多少正常?

其实可以根据负载状态来判断,锁表次数过高的话,负载会打满。如果cpu跟内存都正常,单单锁表次数高,一般问题不大。

mysql的最大连接数默认是100, 最大可以达到16384。
1、查看最大连接数:

SHOW VARIABLES LIKE '%max_connections%';

2、修改最大连接数

方法一:修改配置文件。

进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections 修改为 max_connections=1000 服务里重起MySQL即可。
方法二:命令行修改。

命令行登录MySQL后。设置新的MySQL最大连接数为200:

这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2020-07-19发布