networking - 夜间备份 50GB 表期间的 AWS 网络流量阻塞
问题描述
我们将 RDS mysql 的备份下载到 AWS 实例,然后上传到 S3。正在备份的主机上的数据库中有一个 50GB 的表。
当这个过程开始时,我们其他 AWS 实例上的网络流量会挂起(从字面上看,网络绑定的进程似乎会阻止写入例如基于 AWS 的 RabbitMQ 交换,或者阻止对同一 RDS DB 的单个 sql 更新)。当数据库备份完成将自身归档到 S3 时,网络绑定进程会简单地恢复而不会出现错误。
非网络应用程序不会挂起。大多数(但不是全部)具有连接到该 RDS 实例的进程的 AWS 实例都表现出这种大规模挂起行为。
我们是否遇到了一些模糊的 AWS 带宽限制?
解决方案
我不认为这与 EC2 有关,但您的网络速度和带宽取决于您的 EC2 类型,请阅读 Andreas 的这段:
您的 EC2 实例的最大网络吞吐量是多少?这个问题的答案是选择实例类型或定义网络吞吐量监控警报的关键。不幸的是,您只能在 AWS 的服务描述和文档中找到关于 EC2 实例的联网功能的非常模糊的信息。这就是为什么我在过去几天内对几乎所有 EC2 实例类型运行网络性能基准测试的原因。结果被编译成下面的备忘单。
INSTANCE TYPE Baseline (Gbit/s) Burst (Gbit/s)
c4.large 0.62
c4.xlarge 1.24
c4.2xlarge 2.48
阅读完整的 https://cloudonaut.io/ec2-network-performance-cheat-sheet/
推荐阅读
- python - matplotlib add custom legend
- jquery - Loop AJAX Request Every 5 Seconds
- julia - How to identify standalone spheres in Julia?
- python - Python: Printing a single element as a string and printing a list when there are multiple elements in list
- html - How to resize form field based on screen size?
- css - 编译后不显示 SASS/SCSS 调色板值(白色/黑色)
- dart - BITMEX API - 通过给定符号取消订单 - 如何在 Dart 语言中执行?
- git - Github switching master branch to main breaks my travis-ci build
- javascript - Async useState leading to undefined element down the hierarchy
- python - UnicodeDecodeError on Spyder startup