Qual a sua experiência com o desempenho do AWS NAT Gateway?

2

Em dezembro de 2015, a Amazon lançou o serviço VPC NAT Gateway , que é basicamente uma alternativa gerenciada para criar o seu próprio (e parece muito bom em comparação com as instâncias NAT ).

Eu estava prestes a implantar minhas próprias instâncias NAT e decidi usar o NAT Gateway , em vez de salvar o incômodo de configurar e manter meu próprio serviço NAT.

O serviço funciona como anunciado e eu tenho sido feliz até notar um comportamento estranho.

Eu uso instâncias do EC2 por trás do gateway NAT para testar vários sites, executando até 4 testes paralelos de selênio do Firefox + por instância do EC2. Percebi que os testes que anteriormente estavam funcionando bem em outro lugar falharam nesse ambiente.

Então, instalei duas instâncias t2.large, uma com um IP elástico público e acesso direto à Internet; o outro com um IP privado, atrás do gateway NAT.

Veja os resultados da execução do teste de desempenho do apache em alguns sites:

EIP

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

O servidor por trás do gateway NAT é superado pelo serviço com conexão direta por uma porcentagem significativa em muitos casos.

A AWS diz que o serviço "Suporta explosões de até 10 Gbps", o que é mais do que as instâncias individuais que usei podem fazer.

Percebi que, se eu desativar o keep-alive (ou seja, o -k ), o desempenho se tornará semelhante:

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

O que é esse feitiço? O que está acontecendo? Meus benchmarks são relevantes?

Qual tem sido sua experiência?

    
por Thiago Figueiro 04.02.2016 / 06:41

1 resposta

1

A configuração do meu gateway nat é nova e nada é personalizada. Aqui está o meu resultado para o comando

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

com o gateway 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

sem 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

Quase o mesmo.

    
por 24.05.2017 / 12:49