Eu também uso caixas NAT em uma configuração semelhante na produção, muito interessada em suas descobertas. Eu não tive descobertas semelhantes antes da produção, mas talvez seja uma questão que eu não tenha prestado atenção antes.
Vamos fazer alguma ciência!
=============================================== =============================
Teoria: As caixas NAT podem fazer o download e upload mais rápido do que um cliente que está usando o NAT.
Experiência: combine a experiência dos questionários. t2.micros com o Amazon NAT 2014.09
2 sub-redes com o NAT indo para um IGW e uma sub-rede privada apontando para o NAT.
(Arrendamento Compartilhado. SSD de Propósito Geral)
Procedimento:
# install speedtest
$ sudo yum install python-pip -y --enablerepo=epel; sudo pip install speedtest-cli
# run against the same server
$ speedtest-cli --server 935 --simple
# run it many times
$ for ((n=0;n<10;n++)); do speedtest-cli --simple --server 935; done
Dados:
Nat: Client
Download 727.38 157.99
Upload 250.50 138.91
Conclusão: OP não está mentindo.
=============================================== =============================
Teoria: Diferentes versões do kernel levam a resultados diferentes.
Experiência:
Configure 3 caixas nat, cada uma com SSD magnético, m3.medium (sem ruptura) e locação dedicada.
Faça um teste de velocidade.
Procedimento:
Veja o último experimento. Além disso, configure uma tabela de roteamento para cada caixa NAT. Usamos uma tabela de roteamento blackhole para provar que as alterações foram propagadas quando eu troquei as tabelas de roteamento.
- Usando um NAT.
-
curl google.com
funciona.
- Mude para o buraco negro.
- Espere que
curl google.com
falhe no cliente.
- Mude para o novo NAT.
-
curl google.com
funciona.
Aqui estão as minhas 3 caixas nat:
2014.09 3.14.20-20.44.amzn1.x86_64
2014.03 3.10.42-52.145.amzn1.x86_64
2013.09 3.4.62-53.42.amzn1.x86_64
Dados:
Todas as 3 caixas obtêm resultados muito semelhantes ao executar speedtest-cli --server 935
09/14 03/14 09/13
355.51, 356.55, 364.04
222.59, 212.45, 252.69
Do cliente:
09/14 03/14 09/13
351.18, 364.85, 363.69
186.96, 257.58, 248.04
Conclusão:
Há degradação? Não.
Existe alguma diferença entre as versões do kernel? Não.
=============================================== =============================
Teoria: A locação dedicada versus compartilhada faz a diferença.
Experiência:
2 caixas NAT. Ambos usando o NAT 2014.09. Um com locação compartilhada, um com locação dedicada.
Dados:
Ambas as caixas têm desempenho semelhante:
Shared Nat Dedicated Nat
387.67 387.26
296.27 336.89
Eles também têm desvios padrão semelhantes:
$ python3
>>> import statistics
>>> shared_download = [388.25, 333.66, 337.44, 334.72, 338.38, 335.52, 333.73, 333.28, 334.43, 335.60]
>>> statistics.stdev(shared_download)
16.858005318937742
>>> dedicated_download = [388.59, 338.68, 333.97, 337.42, 326.77, 346.87, 336.74, 345.52, 362.75, 336.77]
>>> statistics.stdev(dedicated_download)
17.96480002671891
E quando você executa as combinações 2x2:
Shared Client/Sh. NAT Sh. Client/Dedicated Nat Ded. Client/Sh. Nat Ded. Client/Ded. NAT
Upload 290.83 288.17 283.13 340.94
Download 260.01 250.75 248.05 236.06
Conclusão:
Realmente claro que o compartilhado versus dedicado não parece fazer uma grande diferença.
Meta conclusões:
O teste que provavelmente vale a pena refazer seria o teste do OP com m3.mediums. Consegui duplicar os resultados do t2.micro, mas o meu m3.medium parece entrar em conflito com os resultados do m3.medium do OP.
Eu também estaria interessado em ver seus dados nas versões do kernel.
Talvez a parte mais interessante seja como eu não consegui fazer com que um NAT m3.medium fosse rápido.