这篇文章主要介绍MySQL中insert的问题分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
image.png
image.png 2、profile展示
image.png
实际上这里的query end是一个非常有用的信息,基本确认是在order_commit函数上的等待。
在我遇到的案例中有大事物造成的小事物commit慢的情况,且状态也是query end,但是这里问题显然不太一样,如果是大事物造成的会是偶尔出现commit慢的情况而这里是稳定出现等待1秒的情况。但是我还是要朋友采集了binlog的大事物信息使用我的一个工具如下:
这个工具是我用C写的不依赖其他工具解析binlog获取有用信息的工具,也很多朋友在用。占时没有开源,其实也很简单就是分析binlog的免费主机域名event来获取有用信息。
得到的简化结果如下:
实际上我们很容易看到binlog整个才80M左右确实包含一个大事物如下,大约占用了50M多
但是大事物只会免费主机域名在提交的那一刻影响其他事物的提交且状态为query end参考我早期的一篇文章
http://blog.itpub.net/7728585/viewspace-2133674/
我们先排除大事物导致的的问题。那么到底是什么问题呢,有朋友说可能是半同步,但是不使用半同步的情况下也一样。且我觉得半同步的导致慢的状态应该不是query end 占时没有测试。
没有办法只能使用pstack进行分析,幸运的是这个问题确实简单如下的pstack栈帧:
image.png
居然binlog_group_commit_sync_delay设置为了最大值1000000也就是1秒,这也就解释了为什么简单的insert都会等待1秒了,且状态为query end。 以上是“MySQL中insert的问题分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注云技术行业资讯频道!
这篇文章给大家分享的是有关如何查看MySQL性能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如何查看MySQL性能?现在大家对MySQL的监控通常有两种做法,一是连接到mysql数据库内部,使用show status,show v…