O Apache trava a cada 5min

1

Sou relativamente novo em relação a problemas de servidor, tendo um site meu que comecei no início do ano a crescer além das minhas capacidades de gerenciamento. Eu preciso de ajuda.

Recentemente, mudei-me do meu ambiente de hospedagem compartilhada para um servidor virtual dedicado da Mediatemple.

A cada semana, eu executo um script que busca dados do meu banco de dados, busca dados da API do last.fm e então envia tweets para o Twitter.

Meu servidor usa Virtuozzo e quando o script é executado, o Apache trava a cada 5min. Eu verifiquei e vi que o parâmetro 'kmemsize' atinge o limite (13mb).

Eu percebo o meu problema. O processo do MySQL permanece aberto por muito tempo enquanto o Apache precisa lidar com muitos links de entrada (cerca de 200.000 pageviews para aquele dia de acordo com o AWSTATS do meu host anterior). Sim, eu sou bastante inexperiente nisso, e estou claramente matando o servidor com muitos links de entrada enquanto ele tem que gerenciar a atualização do banco de dados.

Então esse é o precedente: eu quero algumas respostas.

1) Por que meu ambiente de hospedagem compartilhada não travou o apache a cada 5 minutos? Ele correu bem, o site só diminuiu muito. Claramente, deve ser o contêiner virtual e o limite kmemsize?

2) Para onde eu vou daqui? Um servidor físico (não um contêiner virtual) encontraria os mesmos problemas?

Enviei uma solicitação de suporte para o Mediatemple também. Eu preciso de toda a ajuda que puder conseguir.

    
por warren 06.12.2009 / 13:11

4 respostas

1

Isso pode ser tão simples quanto ajustar o mySQL.

Seu host / servidor antigo pode ter um arquivo /etc/my.cnf exclusivo versus plain vanilla.

Comece com algum monitoramento básico do MySQL - algumas ferramentas que podem ajudar aqui são:

top, mtop e innotop

(o topo é o padrão no linux) mtop - link innotop - link

Você também pode recorrer à ferramenta de monitoramento do MySQL na linha de comando (cli)

mysqladmin processlist / mysqladmin proc

Infelizmente - muitas pessoas usarão os modelos padrão disponibilizados em / usr / share / mysql

RECOMENDO ALTAMENTE TROPÁ-LOS - eles são antigos e não valem a pena usar pelas seguintes razões:

Configurações inválidas para algumas versões do sistema operacional ou do MySQL (por exemplo, thread_concurrency e skip-locking) Adicionando enormes variáveis de matriz que você pode não entender o que são O desempenho de testá-los em relação a outras configurações é mais do que questionável Depois de executá-los - e fazer algum ajuste - deixe o mysql rodar por pelo menos 24-48 horas e depois use as seguintes ferramentas de diagnóstico:

Sintonizador MySQL (apenas digite wget mysqltuner.pl no linux para fazer o download, em seguida, chmod755 mysqltuner.pl e execute-o fazendo ./mysqltuner.pl ;-) mysqlidxchk (Instale por wget hackmysql.com/scripts/mysqlidxchk-1.1 chmod 755 mysqlidxchk * mv mysqlidxchk * mysqlidxchk) e execute fazendo algo assim: (./mysqlidxchk --general / var / lib / mysql / general.log) Se você precisar de ajuda para instalá-los, por favor, avise-nos

PS - a maioria destes são apenas scripts do Linux - mas ajudará muito com o ajuste e gerenciamento do seu servidor mySQL.

Bem como uma boa ferramenta de análise de log como mysqlsla e mysqlreport para relatórios de status

Você está usando um painel de controle por acaso?

    
por 10.11.2010 / 03:35
0

vzctl set 101 --kmemsize 2211840: 2359296 --save

Tente isso, isso aumentará o kmemsize

    
por 06.12.2009 / 13:22
0

A maneira como a tecnologia VZ funciona, impõe limites a vários recursos. Se o seu beancounter mostrar que você está excedendo seus limites de memória, você tem algumas opções.

  1. Atualize seu pacote de hospedagem para que ele tenha mais recursos.
  2. Substitua o apache por um servidor web leve, como lighttpd ou nginx.
  3. Configure o mysql para usar menos recursos consultando o arquivo my-small.cnf que o acompanha.
  4. Configure seu aplicativo para usar menos memória (por exemplo, memory_limit no PHP).

Existem vários tutoriais que mostram como você pode configurar uma pilha leve semelhante a LAMP para várias pequenas opções de VPS.

    
por 06.12.2009 / 16:04
0

Eu sei que essa é uma pergunta muito antiga, mas o seguinte será útil:

Se for uma questão de ajuste do servidor MySQL, eu uso o link É um serviço gratuito, basta se registrar, fazer login, preencher os detalhes do servidor e fornecer as configurações que precisam ser incorporadas no arquivo my.ini

Eu tenho visto melhorias de desempenho, como uma importação que demorava 20 minutos para ser executada em 7 segundos depois do ajuste.

    
por 26.07.2017 / 18:44