Nginx TCP Fast Open Issue

3

Eu configurei o Nginx e o Apache em um dos meus servidores. O servidor nginx atende na porta 80 e no Apache na porta 81. O Nginx funciona como um proxy reverso. No nginx eu configurei o TCP Fast Open:

server {
    listen 107.6.155.74 fastopen=50;
    server_name servtest.com www.servtest.com;

O TCP Fast Open também está ativado no próprio servidor:

root@server:~/projects/nginx# cat /proc/sys/net/ipv4/tcp_fastopen
3

Para testar se isso funciona, configurei o Chrome em um PC com Ubuntu para usar o TCP Fast Open (página chrome: // flags). As configurações do tcp_fastopen estão definidas como 1 no cliente.

No servidor eu uso o seguinte grep para descobrir se o TCP Fast Open é usado ou não:

grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 87-92  | column -t
TCPOFOMerge  TCPChallengeACK  TCPSYNChallenge  TCPFastOpenActive  TCPFastOpenPassive  TCPFastOpenPassiveFail
0            2                2                0                  0                   0

Eu acredito que os contadores TCPFastOpenActive e / ou TCPFastOpenPassive não devem ser "0" se isso funcionar. Alguma idéia de como realmente descobrir se o TCP Fast Open é usado e funciona como esperado? Deixe-me saber se preciso fornecer mais algumas informações.

    
por Daniel Kanchev 29.04.2015 / 16:57

1 resposta

2

Eu fiz alguns testes usando o código de teste TCP de abertura rápida no link

Minha contagem TCPFastOpenPassive aumenta quando o código de teste é usado.

$ grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 87-92  | column -t
TCPOFOMerge  TCPChallengeACK  TCPSYNChallenge  TCPFastOpenActive  TCPFastOpenActiveFail  TCPFastOpenPassive
1000         56217            1316             0                  0                      2041

Então, acho que seu método de análise está correto.

E executando o wireshark, você pode ver claramente o Fast Open Cookie nas opções TCP.

Eu testei com o mesmo par de máquinas usando o Chromium e o Nginx.

Versão do Chromium:

Version 55.0.2883.75 built on Debian stretch/sid, running on Debian stretch/sid (64-bit)

Nenhum cookie aberto rápido nos rastreios wireshark. Mesmo com a opção de abertura rápida ativada no Chromium. Então, suspeito que o problema esteja no Chromium.

    
por 23.01.2017 / 17:33