您对 AWS NAT 网关性能的体验如何?

您对 AWS NAT 网关性能的体验如何?

2015 年 12 月,亚马逊推出了 VPC NAT 网关服务这基本上是创建自己的(和与 NAT 实例相比,它看起来非常好)。

我正准备部署自己的 NAT 实例,于是我决定使用 NAT 网关反而省去了我配置和维护自己的 NAT 服务的麻烦。

这项服务正如广告所说的那样,我一直很开心,直到我注意到一个奇怪的行为。

我使用 NAT 网关后面的 EC2 实例来测试大量网站,每个 EC2 实例最多运行 4 个并行 Firefox+selenium 测试。我注意到,以前在其他地方运行良好的测试在此环境中失败了。

因此我启动了 2 个 t2.large 实例,一个具有公共弹性 IP 并可直接访问 Internet;另一个具有私有 IP,位于 NAT 网关后面。

以下是运行结果Apache 基准测试针对某些网站:

弹性知识产权

ab -kn 1000 -c 20 https://www.pinterest.com/
(...)
Time taken for tests:   17.331 seconds

ab -kn 1000 -c 20 http://speedtest.ftp.otenet.gr/files/test100k.db
(...)
Time taken for tests:   9.610 seconds

ab -kn 1000 -c 20 http://www.bbc.com/
(...)
Time taken for tests:   5.890 seconds

NAT

ab -kn 1000 -c 20 https://www.pinterest.com/
(...)
Time taken for tests:   25.980 seconds

ab -kn 1000 -c 20 http://speedtest.ftp.otenet.gr/files/test100k.db
(...)
Time taken for tests:   14.920 seconds

ab -kn 1000 -c 20 http://www.bbc.com/
(...)
Time taken for tests:   6.552 seconds

在许多情况下,NAT 网关后面的服务器的性能比直接连接的服务高出很多个百分点。

AWS 表示该服务“支持高达 10Gbps 的突发速度”,这超过了我使用的单个实例的性能。

我注意到,如果我关闭保持活动(即-k),性能会变得类似:

ab -n 1000 -c 20 https://www.pinterest.com/
EIP:   18.316 seconds
NAT:   17.763 seconds

这是什么魔法?发生了什么事?我的基准测试相关吗?

你有什么经验吗?

答案1

我的 Nat 网关设置是全新的,没有任何自定义设置。这是我的命令结果

siege -c 100 https://www.pinterest.com -v

使用 Nat 网关:

Transactions:              15012 hits
Availability:             100.00 %
Elapsed time:             140.40 secs
Data transferred:         335.43 MB
Response time:              0.43 secs
Transaction rate:         106.92 trans/sec
Throughput:             2.39 MB/sec
Concurrency:               46.39
Successful transactions:       15012
Failed transactions:               0
Longest transaction:            5.90
Shortest transaction:           0.29

无需 Nat Gateway

Transactions:              11519 hits
Availability:             100.00 %
Elapsed time:             107.02 secs
Data transferred:         257.20 MB
Response time:              0.43 secs
Transaction rate:         107.63 trans/sec
Throughput:             2.40 MB/sec
Concurrency:               46.33
Successful transactions:       11519
Failed transactions:               0
Longest transaction:            4.02
Shortest transaction:           0.28

几乎一样。

相关内容