Permitam-me que comece por dizer que não sou administrador de sistemas, sou programador.
Recentemente, nossos administradores de sistemas instalaram balanceadores de carga F5. Desde então, notei que sempre que uma solicitação atinge o tempo limite e acaba gerando 500, o balanceador de carga envia a mesma solicitação ao nosso outro servidor. O IIS envia a resposta de tempo limite, mesmo que o script ainda esteja em execução. Até as solicitações POST são duplicadas se um script for executado por mais de 5 minutos. Parece-me um problema em potencial, especialmente em sites de comércio eletrônico em que o faturamento do cliente está envolvido.
Este é apenas um problema com alguns de nossos scripts de execução mais longa (mas é um problema sério). Foi-me dito que esse é um comportamento esperado e teremos que alterar nosso código para estar em conformidade. Então, minhas perguntas são:
- Esse comportamento é esperado?
- Qual é a vantagem do balanceador de carga replicar a solicitação após um tempo limite diferente do usuário não ter que atualizar?
- Com essa arquitetura, se um script que atolar o servidor ou consumir recursos for executado, ele será executado nos dois servidores. Isso é realmente ideal?
fonte
Respostas:
Veja esta entrada no monitoramento passivo de aplicativos no Big-IP
Minhas respostas para suas perguntas, por mais decepcionantes que sejam, são
Talvez (depende da configuração do monitoramento passivo)
O usuário não vê um erro
"Ação em serviço desativado" é uma configuração configurável.
fonte
Se ocorrer um erro 500, isso indica um problema no servidor da web. O F5 simplesmente encaminhará esse erro para o cliente que está se conectando. Ele não "reenviará" o pedido por si próprio. A única maneira de isso acontecer é se o cliente tentar novamente a solicitação. Nesse ponto, essa solicitação poderia ser balanceada por carga para outro membro do pool, embora não haja garantia e basear-se-ia na persistência ou no método de balanceamento de carga usado (round robin, menos conexões, etc.).
Em resumo, a menos que você tenha um iRule realmente louco no seu F5, esse é um comportamento causado pelo próprio script.
(Nota: Eu fui engenheiro de suporte da Nework na F5 por um ano e meio trabalhando com o LTM)
fonte