我想在 AWS(悉尼)中生成一个 redis 从属服务器,它需要 ~20Mbit/s 来赶上位于德国的主服务器的写入速度。
问题:我只能获得 8Mbit/s (1MB/s)。
阅读后尝试了更大的实例类型Amazon EC2 的带宽限制但仍然没有区别。
尝试下载托管在澳大利亚的随机内容:tadaa,一次下载速度为 20Mbit/s。
然后是想法:在德国的同一台主机上并行启动多个 wget。Tadaa:每次下载都获得 1MB/s,速度总计超过 150Mbit/s(没有尝试获得更快的速度,但应该是可能的)。
如何摆脱每个连接的速度限制?
答案1
正如评论中提到的那样:由于高延迟而受到 IO 限制。
对于 Redis 从属服务器,解决方案是使用 ssh 隧道(启用压缩),如这篇博客文章 [1] 中所述。由于压缩,带宽减少了 10 倍,因此在我们的例子中 1MB/s 就足够了。
对于下载,解决方案是 aria2c,这是一个 CLI 下载客户端,它可以为大文件同时打开最多 16 个连接。这样您就可以合并多个连接的带宽。
[1]http://tech.3scale.net/2012/07/25/fun-with-redis-replication/