这篇文章主要介绍MYSQL innodb cluster会因为网络影响性能吗,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1 需要搭建mysql 8.019的的innodb cluster 的环境,需要三台机器
192.168.198.100
192.168.198.101 (Primary)
192.168.198.102
然后我们在 192.168.198.101 上test 库上创建lab 测试表(这个测试比较简陋,原想使用sysbench来做一次全面的测试,但0.5版本的sysbench 无法和mysql 8的 用户密码插件进行无障碍的访问,所以只能用下面的方式,另外如果是python 也是,需要升级你连接 mysql的 python-API,否则也会报错)
这里面就不免吐槽,什么叫一个好的产品设计
1 版本不同时,尽量降低用户的学习成本
2 版本不同时,尽量降低非必要的用户付出的成本
3 版本不同时,尽量降低关键部位的改变,或者有兼容的方式进行过度
所以 mysql 在5.7 到8.0 的升级路上,要付出的成本,不低,当然是挡不住人们的热情,但如果能做的更周到和妥帖,升级的路会更好。
然后 在正常的状态下,开始往lab表插入数据
while true;do mysql -uroot -ppassword –socket=/data/mysql/mysql.sock -e "INSERT INTO test.lab (hostname,create_time) VALUES ( @@hostname,now())"; done 2>/dev/null
根据如下信息,每秒的插入数据的在 89 每秒每条
然后直接在 mgr3的机器上的/etc/hosts 将 mgr2 对应的地址改为一个不存在的地址
3号机已经无法连接到 mgr2 获得集群的状态信息,但从系统表中看,集群还是稳定的。
然后故伎重演,在看看MGR3 与 MGR1无法通讯后,是否会影响数据的插入,最后可以看到,不会影响,并且插入的速度还更快了(仅仅修改了/etc/hosts)
每秒插入大约在
可以看到,MGR3 已经和 MGR1 无法进行通讯了,但和主节点无法联系不同,至少还是可以进行状态的展示,所有和主节点之间无法连接对比和从节点之间无法连接的影响性要大。
我们继续故技重施,结果很有点意思
summary info:
系统正常的状态下,每秒插入89条数据
系统丢失一个(其实说丢失有点不准确)节点,插入数据每秒 126条
从节点和领一个从节点失联,每秒插入数据85条。
实际上这个测试可以做多次,例如做10次,然后取平均数(如果有人有时间可以试试)
所以针对那篇文字,实际上觉得有点问题,因为他缺少了一个从节点和从节点之间的测试,仅仅是测试了主节点和从节点之间的网络问题。
以上是“MYSQL innodb cluster会因为网络影响性能吗”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/230405.html