MySQL中间件ProxySQL概述
--2022-05-23 春雷
~~~~~~~~~~~~~ 前言 ~~~~~~~~~~~~~
ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层。可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。
相关 ProxySQL 的网站 :
https://www.proxysql.com/
https://github.com/sysown/proxysql/wiki
注:
此篇文章引用的ProxySQL版本为2.0.10,比较老,版本上推荐大家使用最新的即可
~~~~~~~~~~~~~ 问题与解决 ~~~~~~~~~~~~~

~~~~~~~~~~~~~ 在58的实践 ~~~~~~~~~~~~~
中间件自动将读写分离
多个中间件进行负载均衡

~~~~~~~~~~~~~ ProxySQL性能 ~~~~~~~~~~~~~
结论:
ProxySQL随机读写场景,同比直连MySQL,QPS最高损失8.06%,Latency增加8.75%,可以满足MySQL QPS需求(如果有高QPS需求,也可以考虑架构层的优化,例如引入redis等缓存,或者扩容从实例数量....)
线程数越多,ProxySQL QPS损失越少,延迟增加越少

【2个ProxySQL的QPS及延迟情况】

【QPS与线程数关系】

【延迟与线程数关系图】

【延迟与线程图】

~~~~~~~~~~~~~ 测试的机器信息 ~~~~~~~~~~~~~

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




