mysql性能调优 会话数_从内存到连接数,如何有效提升MYSQL性能(一)?

本文探讨了如何通过监控内存、IO、连接数等关键指标来优化MySQL性能。介绍了查看MySQL状态值的方法,如查询最大连接数、历史最大连接数,并强调了InnoDB引擎的内存设置、查询缓存、排序和连接操作的内存优化策略,为MySQL高效运行提供指导。
摘要由CSDN通过智能技术生成

本文将主要从内存方面、IO与文件句柄限制方面、以及像慢查询、Binary日志和连接数方面来展开谈谈如何对MySQL数据库进行状态监控并根据经验值进行优化。从而使MySQL这部“机器”更高效的运转。

【“工欲善其事,必先利其器” 】

▪ 如何获取MySQL状态值以便于开展后续的诊断调优工作?

查看mysql参数的命令,在mysql客户端输入'show variables'

如果想要查看某个具体的值,可以使用如下命令:show variables like '%具体变量%';

例如:查看最大连接数: show variables like '%max_connections%';如图1:

112330167_1_20171001030141630

(图1)

查看mysql状态的命令,在mysql客户端输入'show status'之后将会看到如下输出;如图2:

112330167_2_20171001030141708

(图2)

如果想要查看某个具体的值,可以使用如下命令:show status like '%具体变量%';例如:查看历史最大连接数: show status like '%max_used_ connections%';如图3:

112330167_3_20171001030141802

(图3)

【内存方面监控及优化 】

目前MySQL数据库默认使用的存储引擎为InnoDB引擎,该引擎的存储机制同Oracle很相似,因此这就意味着内存的合理设置对于使用InnoDB存储引擎的MySQL数据库影响十分巨大。

一、查看当前数据库实例配置的内存大小

show variables like '%innodb_buffer_pool_ size%';

一般来讲,在使用InnoDB引擎的MySQL数据库需要将innodb_buffer_pool_size设置为实际物理内存的1/2或2/3,原因是通过提高查询的内存命中率来减少对磁盘IO操作。

二、查询缓存

作为加速查询的重要手段,其大小设置的是否合理也关系到MySQL数据库的性能好坏。启用查询缓存,可以极大地减低数据库服务器的CPU使用率。

查看查询缓存设置情况:show variables like '%query_cache%';

查看查询缓存使用情况:show status like 'qcache%';

对于某些不想使用缓存的语句,可以这样使用:

112330167_4_20171001030141880

三、排序操作监控(sort opera-tions)

112330167_5_2017100103014221

根据如下公式,评估参数sort_buffer_size设置是否合理 :

Sort_merge_passes/(Sort_scan+Sort_ range),如果其值大于2的话,则说明sort_buffer_size设置偏小,需要将其调大。

四、连接操作监控(join opera-tions)

112330167_6_20171001030142130

当监控到这两个状态值为0时,说明数据库中索引被合理的利用,当其中有一项不为0时,则说明join_buffer_size的尺寸偏小,需要将其调大。

本文我们从MYSQL的状态值和内存方面来介绍MYSQL性能调优,下文我们会从表对象和文件方面使用监控和慢查询、Binary日志和连接数方面来介绍影响数据库性能的因素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值