暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

《高性能MySQL》(第三版)之二:MySQL基准测试、服务器性能剖析

独行侠的守望 2021-04-18
325

★MySQL基准测试

    基准测试尽量简单直接,结果之间容易相互比较,成本低且易于执行。

策略:

1、集成式策略,针对整个系统整体测试

2、单组件式,单独测试MySQL。

指标:

1、吞吐量,单位时间内事务处理数

2、响应时间或延迟,

3、并发性

4、可扩展性,给系统成倍增加工作量或者资源,能否成倍获得成倍结果或者吞吐量,同时注意性能变化。

方法和工具:

    这里不再细述,扩展了解即可。测试工具也分为集成测试工具,比如听说过的JMeter,和 单组件式测试工具,推荐了解sysbench。

 

★服务器性能剖析

性能优化基础

    性能,即响应时间。具体可以分为执行时间 和 等待时间。

通过性能剖析进行优化:

    通过性能剖析来测量和分析时间花费在哪里,分两步:1、测量任务花费时间,2、对结果统计排序,将重要任务排到前面。

   

剖析MySQL查询:

1、剖析服务器:

慢查询日志:是开销最低。精度最高的测量查询时间的工具,其带来的I/O开销基本可忽略不计,长期开启慢查询日志要注意部署日志轮转工具或者只在需要搜集负载样本数据期间才开放慢查询日志。是一款轻量且功能全面的性能剖析工具。

从慢查询日志中生成剖析报告,建议使用pt-query-digest,只需将慢查询日志文件作为参数传给pt-query-digest。

2、剖析单条查询

①、使用 show profile.

    默认禁用,使用命令set profiling = 1;进行开启。

    然后命令行执行业务sql语句。

    再执行 show profiles;命令进行查看。会显示刚执行sql的query_id以及执行时间。

执行命令show profile for query query_id;即可查看业务sql的每个步骤以及花费的时间。输出结果默认按照执行顺序排序。写到这里,插一句,这两天遇到的业务上查询缓慢的原因,在进行上述分析后,结果如下:可以发现大量时间消耗在sending data。

②、使用 show status

大部分结果都是计数器,可显示某些活动频繁程度,但是无法给出消耗时间。常用句柄计数器、临时文件、表计数器。






码字不易,感谢支持!😁   点关注,下次相遇不迷路!

  欢迎关注微信公众号:独行侠的守望

        --- 无论如何都要坚定的前行,去拼搏,去奋斗。爱生活,爱自己!码农一枚,主要分享生活日常、兴趣爱好,记录成长。欢迎一起交流!😁 

                                      

           

     -- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

    本文同步发布于个人网站:https://www.yuanhuiying.com  进入主站点击“愚默博客“标签页进行访问。


文章转载自独行侠的守望,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论