Gostaria de saber se há vantagens de verificar se um servidor está ativo, fazendo uma "solicitação HTTP GET" a cada segundo?
Qualquer servidor pode lidar com isso?
Gostaria de saber se há vantagens de verificar se um servidor está ativo, fazendo uma "solicitação HTTP GET" a cada segundo?
Qualquer servidor pode lidar com isso?
Respostas:
"Qualquer" servidor pode lidar com isso? Provavelmente.
Você deveria fazer isso? Provavelmente não.
Faça a si mesmo algumas perguntas:
Quando aprendi a programar, decidi que queria fazer um cronômetro. Quando finalmente consegui um aplicativo funcional, notei que o uso da CPU no meu laptop estava em 100% sempre que eu o rodava.
Meu loop de execução não teve um ciclo de espera. Apenas continuou executando a função de tempo.
Naquele dia, aprendi uma lição valiosa: não existe uma medida infinitamente precisa.
Enquanto eu, como quase todo mundo, questiono o motivo de querer monitorar com tanta frequência que o lado técnico não é um problema. Uma solicitação GET a cada segundo é absolutamente insignificante em comparação com um carregamento de página típico.
Seu servidor pode lidar com isso? Não temos nada para responder a essa pergunta, mas se o seu servidor tiver um problema para resolvê-lo, sugiro que seja completamente inadequado para qualquer outra coisa que esteja servindo.
A maioria dos softwares de monitoramento comercial oferece intervalo de 1 a 5 minutos por padrão. Esse parece ser um bom intervalo de verificação.
Não há nada de errado em monitorar o servidor a cada segundo, apenas não é muito eficiente, especialmente em servidores com carga alta, onde uma consulta do Apache pode travar por alguns segundos, causando solicitações de backup ou emissão de alertas falsos naquele momento específico, mas é não 'errado'. As verificações de um segundo não serão mais rápidas em responder e, em 99,9% de todas as circunstâncias, uma verificação de 10 ou 30 segundos é igualmente importante.
Eu concordo 100% com Joseph aqui. Se você ainda deseja fazer algum tipo de monitoramento em tempo real, considere detectar o log do servidor da Web quanto a erros do servidor e ausência de novas entradas no log por um período de tempo. Ele não sobrecarregará o servidor, mas disparar alertas com base nisso é um desafio :)