西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > mysql教程 >

使用proxysql和线程池扩展MySQL性能

时间:2016-05-24 10:31来源:未知 作者:好模板 点击:
MySQL 5.7的读写workload并不能带来高吞吐量,Oracle官方推荐使用一种黑色魔术,使用innodb_thread_concurrency和innodb_spin_wait_delay两个参数,但是并不总是有效,这里介绍使用proxysql和线程池两种

MySQL 5.7的读写workload并不能带来高吞吐量,Oracle官方推荐使用一种黑色魔术,使用 innodb_thread_concurrency 和 innodb_spin_wait_delay 两个参数,但是并不总是有效,这里介绍使用 proxysql 和线程池两种方案拓展MySQL性能。

ProxySQL是个高性能代理,ProxySQL 能将MySQL的连接限制在200个,ProxySQL 有能力多路复用数据库连接,使用这种设置,即使有1000个连接,它也会只维持MySQL的200个连接,其实也是数据库线程连接池原理。

Percona Server 提升了MYSQL在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具。

上述两项使用后,测试结果如下:

使用ProxySQL时,在很少线程数量时就有天花板(图中红线低于正常MySQL的吞吐量),但是200个线程以后它能保持稳定的吞吐量。

而使用Percona Server线程池,线程数量少于线程池数量时一点没有没有损耗,几乎与正常MySQL差不多,而在200线程以后,它的吞吐量会落后于ProxySQL。

下面是响应时间对比图:

建议:

  • 如果你计划使用ProxySQL, 你也许可以使用它防止MySQL达到饱和。
  • 如果你使用Percona Server, 你也许需要考虑调整线程池
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容