O site fica off-line todos os dias à meia-noite - ninguém sabe por quê

6

Parece que todos os dias um site que administro está on-line e off-line entre 12a e 12: 25a. Não tenho ideia do que está causando o problema, então estou procurando orientação sobre por onde começar. É um site baseado em Wordpress.

Então, aqui está o que eu sei:

Eu tenho uma conta pingdom que me alerta quando o site fica off-line para que possamos ver todos os dias, como um relógio, o site liga / desliga.

No momento dos altos / baixos, vejo muita pressão sobre o uso da memória. Veja a média de carga quando o site está online / offline ( link ). Então eu corri este comando para reiniciar o http ( link ) e o uso da memória desce para isso ( link ). Uma hora depois que eu reiniciei o http, o site ficou offline / online, então reiniciar o http não ajudou muito.

Quando o site está offline / online, eu corri o comando top e obtive isso ( link ). Aqui está um comando top quando o site está no seu nível mais baixo ( link - então isso seria dubbged "normal").

Eu removi todos os scripts cron que estão no meu servidor (backups, etc). Eu também removi cada cron na minha instalação do Wordpress. Então, em teoria, nada está sendo executado.

Aqui está um relatório de largura de banda ( link ).

O tráfego não parece ser muito ( link ), mas olhando para os meus horários o site está subindo / abaixo isso pode ser uma das razões?

Eu tenho o pacote dvp Nitro no Media Temple ( link ).

Então, neste momento, gostaria de pedir ajuda para tentar descobrir qual é a causa disso e como posso resolver esse problema. QUALQUER AJUDA é muito apreciada.

    
por HollerTrain 10.01.2011 / 18:52

6 respostas

3

Você precisa examinar mais registros. Verifique /var/log/messages por volta da meia-noite (e talvez / var / log /messages.0 , /var/log/messages.1 , etc. para noites anteriores). Olhe para o seu http.conf para descobrir onde seus logs do apache estão armazenados (esse arquivo deve estar em /etc/http/conf ). A diretiva ErrorLog nesse arquivo informará onde o seu log de erros do apache está indo (normalmente um arquivo error_log em algum lugar). Olhe para esse arquivo para ver o que ele informa por volta da meia-noite. Verifique outros arquivos em /var/log para atividades incomuns que você pode correlacionar. Os arquivos de log devem informar porque o servidor está falhando à meia-noite.

    
por 10.01.2011 / 19:03
3

De acordo com o gráfico de 'hits por hora' que você postou, você recebe mais de 13.000 solicitações à meia-noite. Esta é a sua hora mais alta, de longe. Quando você faz um 'serviço httpd restart' você vê uma mensagem de aviso sobre seus MaxClients excedendo o seu ServerLimit e ele está reduzindo seus MaxClients para 200. Isso significa que você está permitindo 200 clientes httpd. Seus clientes httpd estão consumindo cerca de 40 milhões cada. 200 * 40 = 8 GB. O Mysql também está ocupando 300MB. O sistema operacional também precisa de alguns. Você não tem swap configurado. Seu cache de disco está no zero neste momento de acordo com a saída 'top' que você publicou, mas há muita memória livre. Isso é meio estranho e está me jogando por um loop.

O Linux pode estar implementando o killer da OOM. Verifique a saída do dmesg para esses sinais. Eu sugiro que você diminua seus MaxClients e / ou aumente a quantidade de RAM (ou possivelmente adicione a potência da CPU). Você também pode procurar em seus registros do Apache para descobrir o que está atingindo seu site a essa hora. Se for um tráfego legítimo, aumentar a RAM / CPU é o caminho a percorrer. Se não for, a mitigação é o caminho a seguir.

    
por 11.01.2011 / 09:50
2

Você está sendo muito agressivo?

Verifique seus registros do Apache e tente fazer alguns ajustes no seu robots.txt:

User-agent: BadBot
Disallow: /

Felicidades

    
por 10.01.2011 / 19:11
1

Posso sugerir que você configure tarefas agendadas que realizem monitoramento periódico durante esse período? Configure um script que produza o uso da CPU, o uso da memória, etc. durante esse tempo de seus serviços. Você também pode querer adicionar um ping a esse script periódico para garantir que seu servidor tenha uma conexão de rede ativa durante a interrupção. A última coisa que eu adicionaria a esse script de diagnóstico periódico é uma solicitação do wget para o seu site durante o tempo de inatividade, na interface do host local.

É possível que outros sistemas no seu provedor de hospedagem possam estar causando esses problemas - pode não ser o seu servidor. Esperançosamente, criar um script para ser executado no servidor pode fornecer informações adicionais de diagnóstico e ajudá-lo a encontrar a causa do problema.

O seu servidor é virtual? É possível que o seu provedor realize vários snapshots (do DomU) naquele momento, o que pode congelar os outros domínios.

    
por 11.01.2011 / 08:21
0

A que horas seus registros são rotacionados? Se eles girarem por volta da meia-noite, e este for um servidor de hospedagem compartilhada, a própria rotação de log poderá causar muita carga e causar a queda do site.

Aqui está uma opção para analisar: i = 0 enquanto [$ i < 86400]; Faz     top -b > > / tmp / top_file     dormir 60     $ i ++ feito

Isso será executado no modo em lote uma vez por minuto durante um dia inteiro e fornecerá várias informações possivelmente úteis. Você precisa observar a utilização da CPU, a utilização do disco io e o uso da memória / troca.

Além disso, seu pacote de hospedagem parece ser um VPS. Talvez o seu VPS não tenha um problema, mas o seu sistema operacional básico funciona? Um backup diário de estilo de instantâneo da imagem de disco virtual pode levar 5 minutos?

    
por 10.01.2011 / 23:13
0

Hmm ... se você não tem nenhum script cron ou outros processos que possam causar essas reinicializações, que tal pedir ao gerente do host físico para verificar se o servidor está tendo alguns soluços à meia-noite?

    
por 11.01.2011 / 09:14

Tags