雷竞技下载官网Percona是很出名的,提供的几个优秀完全开源,可以软件包。虽然Percona开雷竞技下载官网始MySQL-focused公司,如今它涵盖了不同的技术,如MySQL, PostgreSQL, MongoDB。
在其不断努力使生活更容易为我们的用户,Percona已经从提供单一软件包为MySQL Percona分布,Mongo雷竞技下载官网DB, PostgreSQL。雷竞技下载官网Percona分布的一组软件包Percona测试和认证合作。这些更容易部署架构解决方案需要使用多个组件,比如代理,拓扑管理,备份软件等等。
但是我们会进一步和释放Percona分布MySQL / MongoDB雷竞技下载官网操作符,我们提供一个高水平的自动化推出基于Percona分布和管理解决方案。雷竞技下载官网
我的一个任务,因为MySQL技术主管,是确定最优结构为几种常见情况。比如MySQL 雷竞技下载官网Percona分布:高可用性与组复制解决方案n。或MySQL运营商的Percona分布的情况雷竞技下载官网下,识别不同维度(低/中/高利用率)和显示范围的香草设置部署的解决方案。
这是一个长期的运动,开始大量的内部讨论确定什么是有意义的交通,然后测试,确定饱和分,再次测试,等等。
在这个过程中,我发现一个小问题(功能要求)。这个小问题是阻止我们容易和动态修改一些参数检查操作员使用。鉴于此,我们不得不暂停测试,直到实现上述FR。正如你所看到的是一个小的事情,但它会给我们更好的控制经营者的行为,将帮助您调优的平台。
本文展示的改进可以用小但有针对性的优化。为此,我使用了最小的解决方案我们已经确定了。解决方案是准尺寸为一个小网站或一个简单的应用程序提供一个低水平的交通。
环境
帮助确定平衡我们使用sysbench和sysbench-tpcc设置。整个堆栈丰富与sysbench由应用程序节点,两个为R / W ProxySQL节点分裂,三个vm 8 CPU 32 gb RAM, Percona运营商管理MySQL服务。雷竞技下载官网
测试
对于这个特定的测试我们运行68 - 96 -128 - 256个线程:
- Sysbench只读
- Sysbench读/写
- Sysbench tpc - c像
多次测试,数据的整合多个运行。
我们总是先运行基线的基本环境。意思没有优化MySQL或运营商,只是尺寸正确的磁盘空间和缓冲池(及相关)。
然后我们应用一些调优和多次运行测试最终精炼时/在需要的地方。
现在的结果…
Sysbench r / w测试
我不会详细描述的图片,我认为不够清晰。只要记住左边的结果我们基线,并在右边,相同的测试在同一平台的优化应用。
操作
值得一提的是,没有优化,平台无法持续扩大到256个线程。时的调整不仅可以服务256个线程,我们可以走远一点。
读取
写
评论
如您所见,sysbench测试清楚地表明,平台与小调整演技更好,它能够服务更多的和不断扩展。让我补充说,几乎所有的“基本”平台上测试运行事件,意味着一旦量增加,Sysbench报告连接中断或错误。
tpc - c
操作
读取
写
评论
还这样的tpc - c测试,我们有相同的趋势。我们的“优化”的解决方案能够提供1516每秒,而“基本”唯一能够达到322。在这种情况下,“优化”的解决方案是不可以扩展到256个线程,但这是很有意义的,因为更强烈写工作负载在这个测试和小尺寸的平台。
哇,你改变了什么?
你可能会认为这种差异我们所做的疯狂的事情,但是我们没有。
让我们跳回来。表示开始时,我开了一个FR (https://jira.雷竞技下载官网percona.com/browse/k8spxc - 749)能够优化/最超时现有的运营商。
为什么?想想,当你安装一个集群在铁,你不把它能够工作只有当负载较低,和所有服务器的组件在纳秒能回答。你所做的是优化整个系统,以适应不断增加的负载,你会给一些元素更多“灵活性”,最终希望延迟回答。当这样做你也需要正确地调整所有参数级联的影响。例如,如果你知道你的数据节点将会非常繁忙的查询服务,他们也可能减缓回答内部健康检查,但如果你放松集群健康检查,不检查用于测试集群从运营商的角度来看,该平台将是不平衡的,不会正常工作。
同时,如果你不优化的解决方案,你可能最终得到一个平台,在理论上是能够为负载,但这是人工限制崩溃。
最后一个就是发生了“基本的”解决方案。,操作员有参数,让它工作得很好,但这并不是旨在规模。就像拥有一个服务器cpu总是在20%,如果应用程序要求,控制器将砍他们害怕太多的负荷。但事实是,你想拥有80%或服务器的cpu将充分利用。
总之,我们已经改变了一些InnoDB参数,允许内部运营工作更好。然后读入PXC力一致,实际上减缓行动,最后,我们调整PXC集群更灵活的内部检查,避免把它驱逐节点,除非真正需要。
上面的都是使用操作员配置完成,但是我们不得不工作手动更改所有超时参数使用的操作符检查与我们所定义的集群。
特别是,我们已经改变了的是:
|
1
2
3
4
5
|
脚本
行
价值
/
usr
/
本
/
clustercheckcron
33
超时
=
10
活性
- - - - - -
检查
. sh
23
超时
=
5
准备
- - - - - -
检查
. sh
21
超时
=
10
/
usr
/
当地的
/
本
/
check_pxc
. sh
15
超时
=
美元
{
CUSTOM_TIMEOUT
:
- - - - - -
10
}
|
等待…为什么ProxySQL ?
好吧,这是另一个长时间的讨论,我在另一篇文章将介绍它更好。现在,仅仅认为HAProxy不允许r / w分裂或其他不错的功能,如防火墙,等等。所以很简单,让我们使用操作符符合得更好,然后分离的特殊需求,最终在一个单独的添加proxysql部署。
如果你害怕的成本将额外的块添加到架构:
地点:
HAProxy ProxySQL意思是:应用程序→ProxySQL→。
HAProxy意思是:应用程序→HAProxy。
希望这把你的忧虑在休息,当然,这是使用“优化”的解决方案。
结论
MySQ雷竞技下载官网L的Percona分布算子是一个不断发展/改善解决方案。它也有很多有趣的功能,比如能够管理你的备份/恢复时间点恢复,等等。但其采用仍然是有限的,这是正常的一些缺点。在我们玩真实的生产环境中,或在这种情况下,在定义认证解决方案,并给予反馈来提高操作员是如何工作的,为了使它更强大的产品能够更好地为你服务。
现在我们将等待FR实现,然后我们将恢复我们的尺寸标注工作。














