作者:Vadim Tkachenko

翻译:管长龙

网络是数据库基础架构的主要部分。但是,通常性能基准测试是在本地计算机上完成的,客户端和服务器并置在一起。这样做是为了简化结构并排除一个以上的变量(网络部分),但是我们也忽略了网络对性能的影响。对于像 MySQL Group Replication 这样的产品集群来说,网络更为重要。在这篇文章中,我将介绍网络设置。这些都是简单而微不足道的,但却是让我们更了解复杂网络设置效果的基石。安装我将使用两台裸机服务器,通过专用的 10Gb 网络连接。我将通过使用 ethtool-s eth1 speed1000duplex full autoneg off 命令更改网络接口速度来模拟 1Gb 网络。

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

sysbench oltp_read_only --mysql-ssl=on --mysql-host=172.16.0.1 --tables=20 --table-size=10000000 --mysql-user=sbtest --mysql-password=sbtest --threads=$i --time=300 --report-interval=1 --rand-type=pareto

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

操作系统:Ubuntu 16.04

N1 基准-网络带宽

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

显然,1Gb 网络性能是这里的瓶颈,如果我们迁移到 10Gb 网络,我们可以显着改善我们的结果。要查看 1Gb 网络是瓶颈,我们可以检查 PMM(percona 的数据库监控管理开源工具) 中的网络流量图表:

我们可以看到我们的吞吐量达到了 116 MiB/s(或 928 Mb/s),这非常接近网络带宽。但是,如果我们的网络基础设施仅限于 1Gb,我们可以做些什么?

N2 基准-协议压缩

MySQL 协议中有一个功能,您可以看到客户端和服务器之间的网络交换压缩:--mysql-compression=on。让我们看看它将如何影响我们的结果。

这是一个有趣的结果。当我们使用所有可用的网络带宽时,协议压缩实际上有助于改善结果。

但是 10Gb 网络不是这种情况。压缩/解压缩所需的 CPU 资源是一个限制因素,通过压缩,吞吐量实际上只达到我们没有压缩的一半。现在让我们谈谈协议加密,以及如何使用 SSL 影响我们的结果。

N3基准-网络加密

对于 1Gb 网络,SSL 加密显示了一些损失 - 单线程约为 10% - 但是否则我们再次达到带宽限制。我们还看到了大量线程的可扩展性,这在 10Gb 网络案例中更为明显。使用 10Gb 时,SSL 协议在 32 个线程后不会扩展。实际上,它似乎是 MySQL 目前使用的 OpenSSL 1.0 中的可伸缩性问题。在我们的实验中,我们看到 OpenSSL 1.1.1 提供了更好的可伸缩性,但是您需要从链接到 OpenSSL 1.1.1 的源代码中获得特殊的 MySQL 构建才能实现这一点。我没有在这里展示它们,因为我们没有生产二进制文件。

结论

网络性能和利用率将影响一般应用程序吞吐量。

检查您是否达到了网络带宽限制。

如果受到网络带宽的限制,协议压缩可以改善结果,但如果不是,则可能会使事情变得更糟。

SSL 加密在线程数量较少的情况下会有一些损失(约10%),但对于高并发工作负载,它不会扩展。

mysql 带宽字段_技术分享 | 网络带宽如何影响 MySQL 性能相关推荐

  1. mysql安全无密码登录_技术分享 | 安全地无密码登录 MySQL

    有人说最好的密码就是你不用记忆的.auth_socket 插件和 MariaDB 的 unix_socket 让这种想法在 MySQL 上变成可能. 这两个插件虽然不是新发布,但在 MariaDB 1 ...

  2. 分布式从mysql查数据_技术分享 | 从库数据的查找和参数 slave_rows_search_algorithms...

    作者:高鹏 文章末尾有他著作的<深入理解MySQL主从原理 32讲>,深入透彻理解MySQL主从,GTID相关技术知识. 本文节选自<深入理解MySQL主从原理>第24节 注意 ...

  3. 2如何看表分区字段_技术分享|Oracle分区技术的实现总结

    郝秉睿 青岛科技研发中心 相信对于分区技术,大家一定都有所了解.但是你知道Oracle一共有多少种分区技术么?它们的适用范围和规范是怎样?今天让我们一起来看一看Oracle分区技术的魅力. 在大型的数 ...

  4. mysql pt监控_技术分享 | MySQL 监控利器之 Pt-Stalk

    作者:xuty 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.概述 之前在社区发了一篇[有效解决 MySQL 行锁等待超时问题]文档,主要介绍 ...

  5. MySQL mdl导入_技术分享 | 深入理解 MySQL MDL Lock

    作者:高鹏(网名八怪) 文章末尾有他著作的<深入理解 MySQL 主从原理 32 讲>,深入透彻理解 MySQL 主从,GTID 相关技术知识. 本文来源:转载自公众号-mysql cod ...

  6. MySQL记住密码_技术分享 | mysqlsh 命令行模式 密码保存

    作者:胡呈清 爱可生 DBA 团队成员,擅长故障分析.性能优化,个人博客:https://www.jianshu.com/u/a95ec11f67a8,欢迎讨论. 本文来源:原创投稿 *爱可生开源社区 ...

  7. mysql timestamp 当前_技术分享 | MySQL 复制那点事 - Seconds_behind_Master 参数调查笔记

    作者:戴骏贤 网易游戏 技术部资深数据库系统工程师. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 文章阅读时间约 15 分钟,文中著名参考文献在 ...

  8. mysql并行回放_技术分享 | 从库 MTS 多线程并行回放(一)

    作者:高鹏(八怪) 本节包含分发调用流程请参考链接: 一.综述 与单 SQL 线程的回放不同,MTS 包含多个工作线程,原有的 SQL 线程蜕变为协调线程.SQL 协调线程同时还承担了检查点的工作.我 ...

  9. mysql55和57的区别_技术分享 | MySQL:count(*)、count(字段) 实现上区别

    我们继续来讨论一下 count(*).count(字段)实现上的区别.注意我们这里都使用 Innodb 做为存储引擎,不讨论其他引擎.因为了有了前面的讨论,更容易看出它们的区别,这里我们有如下注意点: ...

最新文章

  1. HDU-4536 XCOM Enemy Unknown 枚举
  2. Linux 下安装 Oracle9i
  3. 清华大学团队与腾讯AI Lab专项合作夺冠FPS游戏AI竞赛VizDoom
  4. obj.val 非数组_在Ruby中使用Array.new(size,obj)创建数组
  5. HBase使用场景和成功案例 (转)
  6. connect: Address is invalid on local machine or port is not valid on remote
  7. CCF NOI1023 最大跨度
  8. IDEA 2017.3.3 Mybatis Plugin 3.154 安装和破解方法(Windows系统)
  9. pycharm的使用技巧
  10. (ORBSLAM3关联文章)论文翻译Inertial-Only Optimization for Visual-Inertial Initialization视觉惯性初始化的仅惯性优化
  11. Office阻止激活silverlight控件的解决方法
  12. ITN网络课程笔记(十一)
  13. Android 12没显示出app的微件问题
  14. [轉]值得研究 邓亚萍代表的到底是哪个“国家”?
  15. python excel文件换题头
  16. HOJ 2786 Convert Kilometers to Miles
  17. 高职单招计算机基础知识题,高职单招计算机基础练习题
  18. 关于剪枝对象的分类(weights剪枝、神经元剪枝、filters剪枝、layers剪枝、channel剪枝、对channel分组剪枝、Stripe剪枝)
  19. TAPA认证辅导,TAPA全球委员会正式发布了《运输供应商最低安全要求》
  20. vmware搭建多台虚拟机-桥接模式

热门文章

  1. 对不起,让你笑了这么久!
  2. SKU表管理之查询获取sku表列表数据
  3. Python里面None True False之间的区别
  4. 网络空间安全:社会工程学之信息追踪——学习笔记 利用搜索引擎追踪!
  5. 仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目
  6. AOI检测基本原理与设备构成
  7. 22张深度学习精炼图笔记总结
  8. 链表问题1——打印两个有序链表的公共部分
  9. PAT计算出2~N所有素数
  10. 为您解析大数据的未来趋势