A largura de banda de rede de saída é alta mesmo para resposta vazia [fechada]

1

Eu tenho um servidor nginx simples que monitora as solicitações e as armazena nos logs de acesso. As solicitações contêm dados em parâmetros de consulta e são cerca de 500 bytes. Minha saída é apenas uma resposta HTTP 204. Mas, quando monitoro a largura de banda da rede, vejo a taxa de entrada como 8,44 Mbit / se a taxa de saída como 5,19 MBit / s.

A questão é, por que a taxa de saída é alta?

A saída de "tcpflow -p -C -i eth0 porta 80" está abaixo.

GET ############## HTTP/1.1
Host: ##############
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Forwarded: for="[############]"
Origin: ###########
Referer: #########
Save-Data: on
Scheme: http
Via: 1.1 Chrome-Compression-Proxy
X-Forwarded-For: #################
Connection: Keep-alive
User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; SM-J710FN Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36


write error to stdout

HTTP/1.1 204 No Content
Server: nginx/1.4.6 (Ubuntu)
Date: Fri, 10 Mar 2017 04:54:43 GMT
Connection: keep-alive
Access-Control-Allow-Origin: *
Content-Type: text/plain
    
por Sundar 10.03.2017 / 07:21

2 respostas

2

why is the outgoing rate high?

Eu não acho que podemos responder razoavelmente a essa pergunta, mas podemos dar-lhe algumas ideias sobre como responder a si mesmo.

Você parece estar se concentrando no tráfego gerado pelo seu servidor http. Muitos outros processos em um sistema podem usar a rede.

Eu ficaria tentado a usar o tcpdump para obter uma visão detalhada dos pacotes na linha. A partir disso, posso saber que outro tráfego, além do HTTP, está ativo e como ele contribui para o uso geral da rede. Eu posso então analisar mais conforme necessário.

    
por 10.03.2017 / 08:07
0

Se suas solicitações recebidas forem maiores em volume do que suas respostas enviadas, seu perfil será um pouco incomum para um serviço da Web - a maioria dos serviços da Web envia de volta muito mais do que recebe.

Olhando para a saída que você dá, a resposta do nginx é de cerca de 167 bytes, e você diz que a solicitação média é de cerca de 500 bytes.

Portanto, se fizermos um retorno muito rápido do cálculo do guardanapo, você terá cerca de 1MB (8Mb) de entrada por segundo a @ 500 byte por solicitação: 1000000/500 = 2000 requests/sec . Eu suspeito que nem todas as solicitações estão retornando as respostas de 170 bytes que você compartilhou, porque 6000000/8/170 = 4411 - ou, em outras palavras, algumas respostas são substancialmente maiores que 170 bytes ou (menos provável) seu servidor está respondendo duas vezes a cada solicitação.

Então eu acho que a questão é se esse intervalo aproximado (2000 a ~ 4000) de solicitações / respostas por segundo é esperado.

    
por 10.03.2017 / 10:06