Mysql-性能分析-Profiling

Mysql-性能分析-Profiling,第1张

Show Profile 是mysql提供可以用来分析 当前会话 中语句执行的资源消耗情况,可以用于Sql调优的测量。

请读者继续看前面的图 SQL执行具体细节 ,左边 Status 列展示了一条SQL执行的从开始到清理的整个生命周期中执行的 *** 作。如果在其生命周期阶段出现如下的情况的就要重视了:

开启 Profiling 后,mysql会留下15条最近执行的sql的 现场 , 便于我们发现问题。

Show profiles 用来查最近的15条。

Show profile 用来展示每一个SQL执行阶段的耗时清单,便于我们发现耗时最多的地方,然后以此为依据查找问题所在,最后优化SQL或者优化mysql参数。比如耗时清单创建了临时表,就要考虑表是否创建索引,如果创建了那么是否没有用到或者失效了。

总的来说 Profiling 是一个很不错的mysql性能分析工具。

测试mysql5.7和mysql8.0 分别在读写、只读、只写模式下不同并发时的性能(tps,qps)

机器

myql5.7.22

mysql8.0.15

sysbench

mysql5.7和mysql8.0 在读写模式下的表现

双1 配置,读写模式下,mysql5.7.22 和mysql8.0.15 tps 、qps 性能差不多,mysql8.0.15 在120 线程并发时,性能出现了下降抖动:

mysql5.7和mysql8.0 在只读模式下的表现

双1 配置,只读模式下,mysql5.7.22 的tps、qps比mysql8.0.15 好1/3 左右;并发线程数增加后,tps、qps并没有随着增加,反而出现了下降的趋势:

mysql5.7和mysql8.0 在只写模式下的表现

双1 配置,只写模式下,随着并发数的上升,mysql5.7.22 的性能比mysql8.0.15 好1/4左右

mysql5.7和mysql8.0 在读写模式下的表现

0 2配置,读写模式下,并发数低时,mysql5.7.22性能好于mysql8.0.15并发数比较高时,mysql8.0.15 性能好于mysql5.7.22;在80 线程的并发以上时,性能开始下降

mysql5.7和mysql8.0 在只读模式下的表现

0 2配置,只读模式下,mysql5.7.22性能比mysql8.0.15 好1/3左右;随着并发数的上升,性能也没有上升,反而有下降的趋势

mysql5.7和mysql8.0 在只写模式下的表现

注意

sysbench 需要设置--db-ps-mode=disable 禁用预编译语句,不然并发测试线程多时会报下面的错误

使用脚本


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8450279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存