como as conexões http persistentes (http-keep-alive) afetam o valor de Tq?

2

De que eu entendo , o tempo de Tq é o tempo entre o fim do TCP handshake do cliente e a hora em que o último cabeçalho HTTP é lido.

O manual do haxproxy 1.4 descreve o tempo de Tq como:

Tq: total time to get the client request (HTTP mode only). It's the time elapsed between the moment the client connection was accepted and the moment the proxy received the last HTTP header. The value "-1" indicates that the end of headers (empty line) has never been seen. This happens when the client closes prematurely or times out.

Source: http://www.haproxy.org/download/1.4/doc/configuration.txt

Eu gostaria de entender como o Tq é registrado para conexões persistentes. O meu entendimento está correto, conforme indicado pelo meu diagrama abaixo?

Tq timer start
     |
     v
[CON] [REQ1: HTTP HEADERS|HTTP DATA] ... [RESP1] [REQ2: HTTP HEADERS|HTTP DATA] ...
     ^                   ^                                          ^
     |                   |                                          |
     +-- REQ1 Tq time ---+                                          |
     |                                                              |
     +-------------------- REQ 2 Tq time ---------------------------+

Ou seja. Quando o haproxy está lidando com conexões persistentes, o tempo de Tq aumentará com cada solicitação na mesma conexão?

    
por Chris Snow 11.09.2015 / 10:29

1 resposta

4

Não, para conexões persistentes, Tq será o tempo entre quando a resposta anterior foi concluída e a solicitação atual foi recebida. O contador é redefinido depois de completar uma resposta.

Valores Tq tão grandes podem indicar simplesmente que o cliente estava ocioso e não enviou solicitações.

Você pode confirmar isso por experiência - use nc ou openssl para se conectar ao seu servidor e fazer solicitações em intervalos diferentes.

    
por 24.03.2017 / 05:07

Tags