网络带宽如何影响MySQL性能

北京白癜风治疗最好医院 https://wapyyk.39.net/bj/zhuanke/89ac7.html

网络是数据库基础架构的主要部分。但是,通常情况下,性能基准测试是在客户端和服务器并置的本地计算机上完成的-我自己也对此感到内疚。这样做是为了简化设置并排除另外一个变量(网络部分),但有了这个,我们也错过了看网络如何影响性能。

对于像PerconaXtraDBCluster和MySQLGroupReplication这样的产品集群来说,网络更为重要。此外,我们正在为Kubernetes和OpenShift开发PerconaXtraDB集群运算符,其中网络性能对整体性能至关重要。

在这篇文章中,我将介绍网络设置。这些都是简单而微不足道的,但它是了解更复杂设置的网络效果的基石。

建立

我将使用两个通过专用10Gb网络连接的裸机服务器。我将通过

ethtool-seth1speedduplexfullautonegoff

命令更改网络接口速度来模拟1Gb网络。

我将运行一个简单的基准:

sysbencholtp_read_only--mysql-ssl=on--mysql-host=.16.0.1--tables=20--table-size=0000--mysql-user=sbtest--mysql-password=sbtest--threads=i--time=--report-interval=1--rand-type=pareto

运行时线程数从1到不等。所有数据都适合内存-innodb_buffer_pool_size足够大-因此工作负载在内存中占用大量CPU:没有IO开销。

操作系统:Ubuntu16.04

基准N1。网络带宽

在第一次实验中,我将比较1Gb网络和10Gb网络。

显然,1Gb网络性能是这里的瓶颈,如果我们迁移到10Gb网络,我们可以显着改善我们的结果。

要查看1Gb网络是瓶颈,我们可以检查PMM中的网络流量图表:

我们可以看到我们的吞吐量达到了MiB/秒(或Mb/秒),这非常接近网络带宽。

但是,如果我们的网络基础设施仅限于1Gb,我们可以做些什么?

基准N2。协议压缩

MySQL协议中有一个功能,您可以在其中看到客户端和服务器之间的网络交换压缩:

--mysql-


转载请注明:http://www.aierlanlan.com/cyrz/3502.html