Erro 503 do verniz após exatamente 60 segundos… como alterar esse valor de tempo limite?

3

Estou executando o Varnish sobre o Apache em um site do Drupal. Eu tenho um script PHP que executa em um determinado caminho do meu site, e leva muito tempo ... como 60 - 120 segundos. Ao tentar acessar essa página, o Varnish sempre me dá 503 tempo de meditação do guru depois de exatamente 60 segundos.

Eu tentei configurar o Varnish connect_timeout para um valor realmente alto ... Eu tentei configurar todos os timeouts do php.ini do Apache para valores realmente altos ... mas sem sorte: o Varnish continua me dando o erro 503 depois exatamente 60 segundos.

Então, aqui está a minha pergunta: de onde vem esse 60 segundo valor de tempo limite? Estou puxando meu cabelo aqui ...

(FYI: se eu tirar o Varnish da foto, o Apache serve a página como esperado após 60 - 120 segundos, o que me faz pensar que o tempo limite deve estar em algum lugar do lado do Verniz ...).

    
por Jordan Magnuson 04.02.2014 / 20:49

2 respostas

8

Encontrei 503 erros na hora em que meu servidor não é muito carregado. Eu tentei evitar esse problema aumentando o timeout em vclconf

first_byte_timeout = 300s; (por padrão, isso é definido para 60s) < - provavelmente este pode responder a sua pergunta (ou não):)

Por favor, verifique isto

link

espero que este ajude

    
por 05.02.2014 / 08:21
0
Error 503 Backend fetch failed
Backend fetch failed

Para resolver esse problema, aumente o valor padrão do parâmetro http_resp_hdr_len no arquivo de configuração do Varnish. O parâmetro http_resp_hdr_len especifica o tamanho máximo do cabeçalho no tamanho total de resposta padrão de 32768 bytes.

Se o valor de http_resp_hdr_len exceder 32768 bytes, você também deverá aumentar o tamanho de resposta padrão usando o parâmetro http_resp_size. Como um usuário com privilégios de root, abra seu arquivo de configuração Vanish em um editor de texto:

CentOS 6: /etc/sysconfig/varnish
CentOS 7: /etc/varnish/varnish.params
Ubuntu: /etc/default/varnish

Pesquise pelo parâmetro http_resp_hdr_len. Se o parâmetro não existir, adicione-o após thread_pool_max. Configure http_resp_hdr_len com um valor igual à contagem de produtos de sua maior categoria multiplicada por 21. (Cada tag de produto tem cerca de 21 caracteres).

Por exemplo, definir o valor para 65536 bytes deve funcionar se sua categoria maior tiver 3.000 produtos:

-p http_resp_hdr_len=65536 \

Defina o http_resp_size para um valor que acomode o aumento do tamanho do cabeçalho de resposta.

Por exemplo, usar a soma do comprimento do cabeçalho aumentado e do tamanho da resposta padrão é um bom ponto de partida (por exemplo, 65536 + 32768 = 98304):

-p http_resp_size=98304 \

Um snippet segue:

# DAEMON_OPTS is used by the init script.
DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \
     -f ${VARNISH_VCL_CONF} \
     -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
     -p thread_pool_min=${VARNISH_MIN_THREADS} \
     -p thread_pool_max=${VARNISH_MAX_THREADS} \
     -p http_resp_hdr_len=65536 \
     -p http_resp_size=98304 \
     -S ${VARNISH_SECRET_FILE} \
     -s ${VARNISH_STORAGE}"
    
por 23.11.2017 / 13:51