mysql优化——分析MySQL周期性变化

来源:互联网 发布:数据分析研究生专业 编辑:程序博客网 时间:2024/06/07 02:32

分析MySQL周期性变化,需要定时的去收集MySQL的一些运行状态予以分析

我们收集mysqladmin ext (show stauts)命令的如下几个参数

Queries服务器执行的请求个数

threads_connected 有几个线程链接

threads_running 有几个线程在运行

可以使用awk命令截取出以上参数用于分析:

mysqladmin -uroot -proot ext | awk '/Queries/{printf("%d    ",$4)}/Threads_connected /{printf("%d    ",$4)}/Threads_running /{printf("%d\n",$4)}'


我们可以创建一个脚本定时的执行上述命令收集相关参数

#!/bin/bashwhile truedo  mysqladmin -uroot ext|awk '/Queries/{q=$4}/Threads_connected /{c=$4}/Threads_running /{r=$4}END{printf("%d  %d  %d",
q,c,r)}' >status.txtsleep 1done

我收集的参数部分如下:

35322131123227662123132121523218872117512115482114312111432199731102142150321238721326221.....................................

可以用收集的数据生成折线图就可以清晰的观察到mysql周期性变化,予以分析以便以优化


如上mysql有周期性的短时间的高峰

解决办法:

1: 减少无关请求(业务逻辑层面最有效的手段,实际中跟业务沟通往往很难)

2: 如果请求数是一定的,不可减少的.我们要尽量让请求数平稳,不要有剧烈波动.

很多时候,不是服务器撑不住总的查询量,而是在某个时间段撑不住高峰请求.(使用缓存,缓存的生命周期在一定范围内随机,也可以减缓波峰剧烈的



0 0
原创粉丝点击