需求:mycat 出来好几年了,而且还是阿里的大神开发的产品,目前国内的mysql中间件它的名气最大且免费使用,我是打算先把mycat 做中间件 使用它的负载均衡和读写分离功能来达到mysql 数据库的高可用高性能高并发;然后看先用熟再后期使用它的分库分表功能
背景: mycat + mysql 一主双从
测试工具 sysbench , python 写的批量写入脚本
测试结果: tps 性能直接降了一半多,这个结果实在不能接受,我以为是我使用有问题,去找mycat 官网的qq群,花了15元还是多少钱进了群(2个月前的事情了具体忘记多少钱了),然后在群里问了一些同行,有人说做mycat 多个节点比如haproxy+keepalived+mycat(多个),增加mycat 节点来提高性能,但此方法效果不大,没什么明显太大的提升(群里面也有这样的使用的童鞋说性能提升不大);群里面有童鞋说“你没有分片什么的,不打算多数据源什么的。只打算单机搞一搞,就没有必要用了”,对此我的回答是“就算我有分片的需求,性能下降这么厉害,那我也没必要用mycat 的,那我数据库水平拆分了分库分表了”;而且据了解开发mycat 的主要人员都已经没怎么维护mycat 了;所以我的建议是如果打算使用mycat 的作为mysql中间件来实现负载均衡和高可用高并发,不推荐
第一张图是直接sysbench 压测单机mysql 的结果
第2张图是sysbench 压测mycat +mysql 一主双从