• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
  • Dicas
Início

Pesquisa

Google

Itens ativos

  • Drupal X Uolhost
  • Alguem pode me ajudar a fazer o upload do drupal ? E a configurar
  • Treinamento
  • Agenda de contatos
  • TEMA PERSONALIZADO AJUDA
  • virtual sites
  • Captcha no webform
  • Tutorial: Personalizando o nome de usuário em um post
  • Tagadelic
  • nao esta enviando os emails
mais

Posts mais lidos hoje

  • Sobre o Drupal
  • Manual
  • TEMA PERSONALIZADO AJUDA
  • virtual sites
  • Treinamento
  • Tutoriais
  • Drupal X Uolhost
  • Alguem pode me ajudar a fazer o upload do drupal ? E a configurar
  • Agenda de contatos
  • apt-get install drupal5

Login do usuário

  • Criar nova conta
  • Solicitar uma nova senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fóruns » Suporte » Drupal

Load elevadíssimo

Olá gente boa.
Desde o fim do mês de Abril, altura em que a empresa que aloja o meu site actualizou o PHP para a versão 5, que passei a ter muitos problemas com o consumo excessivo de memória e processador.
O facto de ter passado para o PHP 5 fez com que a empresa, ao que parece, passasse a ter maior controlo destes parâmetros, ou seja, a causa não foi a troca do PHP mas a utilização de sistemas mais apertados de controlo.
Ainda ontem recebi o mail que transcrevo abaixo:

"... Mais uma vez, infelizmente cá estou a contactá-lo. O problema mantem-se
e está mesmo a esgotar-se a capacidade do servidor funcionar com um load
elevadissimo.
O problema está mesmo no script e no ele gravar campos em BLOB,
existindo mesmo a necessidade de eliminar os campos BLOB, pois isso irá
libertar-lhe a maioria dos problemas. Só para ter noção, segue um
extracto dos processos:

Time: Thu Sep 25 17:05:44 2008 +0100
Account: aminhara
Process Count: Memory Exceeded High Load
Process Information:
User:aminhara PID:32747 Run Time:3(secs) Memory:33244(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32748 Run Time:3(secs) Memory:34028(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32750 Run Time:3(secs) Memory:33172(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32752 Run Time:3(secs) Memory:34616(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32759 Run Time:2(secs) Memory:34244(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32760 Run Time:2(secs) Memory:32788(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32763 Run Time:1(secs) Memory:30272(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:32765 Run Time:1(secs) Memory:31888(kb) exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php"

Já desactivei a generalidade dos módulos desnecessários, já limpei a base de dados removendo tabelas nã usadas, desactivei a pesquisa, removendo as tabelas também...
Enfim, a situação começa a ficar desesperante.
O problema não é o consumo de memória mas sim o uso excessivo do processador.
O que eles dizem é que talvez existam imagens guardadas em tabelas e é isso que provocará o load excessivo.
Já procurei no fórum do Drupal, mas os resultados têm sido inconclusivos.

Alguma dica?

Obrigado, António Silva

‹ duvida sobre o módulo de taxonomia! Como criar um destaque rotativo em XHTML+CSS com link (Innerfade) ›
Enviado por aminharadio em sex, 26/09/2008 - 00:38.
  • Drupal
  • 5.x
  • Por favor, se logue ou se registre para poder enviar comentários
  • 195 leituras

Acho que vc só tem uma

Acho que vc só tem uma opção: trocar sua empresa de hospedagem... :(

Já passei por muiiiitas empresas que revendem hospedagem o que me deu dor de cabeça tendo que migrar vários sites com frequência. Até que me encheu o saco e resolvi migrar para alguma que fosse das grandes do mercado. De todas, optei pela Locaweb que tem uma boa relação custo x benefício e até o momento não tenho o que reclamar. Tudo que pedi, foi resolvido.

O que ocorre nessas empresas (não sei se é o seu caso), elas compram espaço grande (vps ou mesmo revenda) e precisam repartir os recursos de cpu+memória. Então se alguma conta extrapola o seu limite, blau blau. Muitas vezes eles fecham o site sem nem mesmo avisar. Fora o tal "over-não-sei-o-que", onde vendem o que não tem contando com as estatísticas de que a maioria usa muito menos do que acha que precisa. :) É o caso de planos faraônicos mas que no contrato existe uma cláusula limitando o uso, assim como o Velox faz também, onde no contrato eles se obrigam a fornecer (se não me falha a memória) apenas 20% da banda contratada.
Um exemplo pinçado de uma empresa que quase assinei devido as vantagens que apresentava, mas desisti ao ler o contrato:

"Limite máximo de utilização de memória: 10% por domínio/arquivo/aplicação
Limite máximo de utilização do CPU: 20% por domínio/arquivo/aplicação
Limite máximo de utilização do MySQL: 10%
Número máximo de emails enviados por hora: 300 emails por hora, por domínio
Há exceções especiais para estas regras que serão determinadas na hora que descobrirmos o abuso. Há diferentes combinações de utilização que podem criar problemas e outros casos especiais. A qualquer hora que um servidor estiver instável e encontrarmos a conta que estiver causando isso, nós nos reservamos no direito de suspender a conta imediatamente..."

E vc tem idéia de quantos são esses limites em números ? Eu não sei... ;)
Vc viu como um contrato desse dá margem para fazer o que quiser ? Digamos que vc tenha seu site hospedado nessa empresa-exemplo e que vc tenha certeza que seu script está consumindo abaixo dos 10% de cpu, porém tem o trecho abaixo que diz que "há diferentes combinações...."

Eu tive esse tipo de problema numa empresa onde eu tinha certeza que meu site não estava consumindo toda a cpu e eles insistiam para eu mudar meu plano para um vps que assim meus problemas acabariam. Essa é aliás uma tática também, quando não tem saída empurram um vps.

Mudei para a Locaweb e esse é um tipo de preocupação que não tenho. E não é só a Locaweb, tem outras que só conheço de nome mas sei que não fazem esse tipo de coisa porque tem estrutura profissional.

Por fim não se trata de condenar quem faz esse tipo de coisa, acho que tem espaço para todos e cada um tem que ver o seu interesse maior e suas prioridades no momento. É a velha questão do custo x benefício x retorno desejado. Nada impede que eu contrate amanhã uma dessas revendas, vai depender dos requisitos do site que vou montar, ok ?

É isso.

Abs e muita sorte para nós!

Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework

Enviado por coyote em sex, 26/09/2008 - 15:12.
  • Por favor, se logue ou se registre para poder enviar comentários

Já pensei nisso...

De facto já pensei nisso... no entanto refiro que eles têm sido bastante prestáveis e simpáticos, tentando dar soluções para o meu problema.
Claro que o que eles pretendem é levar-me a optar por um servidor dedicado, mas está fora de questão em virtude dos elevados custos.
Na realidade eles repartem os recursos por vários utilizadores, de forma que, quando em algum caso os valores são um pouco mais altos, eles reclamam, porque ficam menos recursos para os outros.

Cumps,

António

Enviado por aminharadio em sab, 27/09/2008 - 11:04.
  • Por favor, se logue ou se registre para poder enviar comentários

Load elevadíssimo, algumas adições ao texto inicial

Tenho andado de volta do assunto e cada vez percebo menos, nem encontro solução ou causa, sequer, para o problema.
A tabela está aparentemente normal.
Não está excessivamente grande, cerca de 23Mb, contemdo 201 tabelas que não ultrapassam os 300Kb, sendo em geral os valores inferiores a estes, exceptuando-se as tabelas habituais do Drupal onde se acomula muitos dados, embora mesmo essas não sejam excessivamente grandes.
Tenho um outro site também em Drupal que tem valores muito mais elevados, uma tabela muito maior, mais taxonomias, mais utilizadores e cerca do triplo do tráfego e não tem esses problemas.
Também está alojado em outro servidor...
Tenho a sensação que pouparei muitos recursos se desactivar o módulo Watch dog, mas na versão 5 essa possibilidade não existe.
Alguém conhece uma maneira de o fazer?
Por outro lado tenho andado a pensar se a situação melhoraria com a actualização para a versão 6 do Dp.
Que acham?

Cumps,

António

Enviado por aminharadio em sab, 27/09/2008 - 11:11.
  • Por favor, se logue ou se registre para poder enviar comentários

Bom, eu identifico alguns

Bom, eu identifico alguns problemas. Pelo que você falou o problema aparenta estar no servidor + Drupal. Já aconteceu isso comigo algumas vezes e, na grande maioria, era o módulo Search que estourava tudo. Ele consome demasiado processamento e memória quando tem que indexar muito conteúdo. Aqui no Drupal Brasil eu desativei esse módulo e no Drupal.org (que tem servidor dedicado com muita memória e muito processador) também ele é desativado em momentos de pico.

Não sei se pra vc isso seria uma solução, mas pode ser um teste válido. Se esse módulo não está ativado, teria que ver algum outro q tem um grande volume de acesso/gravação. Já aconteceu comigo da tabela sessions estourar também por execesso de gravação.

Agora, 200 tabelas é muita coisa hehe acho que nunca fiz um site com tantas tabelas. :-)

Abraço,
--
Rafael Ferreira Silva
http://www.rafaelsilva.net

Enviado por rafael em ter, 30/09/2008 - 18:47.
  • Por favor, se logue ou se registre para poder enviar comentários

O search está desactivado

Caro Rafael, muito obrigado pela pronta resposta.
A pesquisa está desactivada há já algum tempo para ver o que dava, mas não deu grande resultado. O engraçado é que quanto mais desactivo mais problemas tenho...
Tenho muitas tabelas porque estou a usar o módulo de E-commerce, o módulo Biblio, CCK, Views, Webform, e outros mais, mas já reduzi bastente, porque eram algumas mais.

Por favor, veja o último mail que recebi...
Pode ser o trafego sem duvida sr. antonio, mas tem sempre algo haver com
alguma parte do script, infelizmente.

Neste momento o load está em valores insuportaveis mais uma vez, com
praticamente 10.0 de load, segue extracto do que aparece nos processos:

===BATCH #1=======================================
Time: Tue Sep 30 17:54:37 2008 +0100
Account: aminhara
Process Count: 15 (Killed)

Process Information:

User:aminhara PID:5203 Run Time:59(secs) Memory:47180(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5204 Run Time:59(secs) Memory:47680(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5207 Run Time:59(secs) Memory:47852(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5208 Run Time:59(secs) Memory:46556(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5210 Run Time:59(secs) Memory:46540(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5211 Run Time:58(secs) Memory:47904(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5212 Run Time:58(secs) Memory:46524(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5213 Run Time:58(secs) Memory:48648(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5224 Run Time:58(secs) Memory:46244(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5235 Run Time:56(secs) Memory:47524(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5236 Run Time:56(secs) Memory:47628(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5239 Run Time:56(secs) Memory:45676(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5318 Run Time:45(secs) Memory:45096(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5356 Run Time:37(secs) Memory:44152(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
User:aminhara PID:5365 Run Time:33(secs) Memory:43868(kb)
exe:/usr/bin/php cmd:/usr/bin/php /home/aminhara/public_html/radio/index.php
===BATCH #1=======================================

===BATCH #2=======================================

Time: Tue Sep 30 17:54:51 2008 +0100
1 Min Load Avg: 9.96
5 Min Load Avg: 4.37
15 Min Load Avg: 2.43

nobody 14897 0.1 0.4 16784 9184 ? S Sep27 9:04 \_
/usr/local/apache/bin/httpd -DSSL
aminhara 5644 19.0 0.7 28168 15044 ? R 17:54 0:00 | \_
/usr/bin/php /home/aminhara/public_html/radio/index.php
nobody 16004 0.1 0.5 18508 10936 ? S Sep27 8:53 \_
/usr/local/apache/bin/httpd -DSSL
aminhara 5640 29.0 0.9 32352 19504 ? R 17:54 0:00 | \_
/usr/bin/php /home/aminhara/public_html/radio/index.php
===BATCH #2=======================================

O script que aparece sempre como o causador, é o /radio/index.php, o que
significa que será algo ou em modulos ou mesmo nalguma library interna
do script. Mais infelizmente não se consegue detectar.

Acrescento que o site está dentro da pasta radio.
O total da base de dados, sem o cache, ronda os 20Mb. Activei novamente o cache porque assim, suponho, serão consumidos menos recursos do processador. Note que aqui o problema não é a memória mas o processador...
Se o problema continuar vou desactivar o Biblio.
Um outro problema tem a ver com a escrita no ficheiro error_log que engorda muito em apenas 24 horas, embora umas vezes muito mais do que outras.
Por exemplo, nestas últimas 24 horas ficou com mais de 120Mb, mas tem dias que fica com uns 20Mb ou menos.
Essencialmente o que lá é registado é:

[30-Sep-2008 23:14:51] PHP Warning: MySQL server has gone away
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>MySQL server has gone away\nquery: LOCK TABLES cache_page WRITE</em> em <em>/home/aminhara/public_html/radio/includes/database.mysql.inc</em> na linha <em>172</em>.', 2, '', 'http://www.aminharadio.com/radio/radio_hitlerdead', 'http://www.google.com.br/search?hl=pt-BR&safe=off&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=a+morte+de+hitler&spell=1', '201.69.28.56', 1222812891) in /home/aminhara/public_html/radio/includes/database.mysql.inc on line 172
[30-Sep-2008 23:14:51] PHP Warning: MySQL server has gone away
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em></em> em <em>/home/aminhara/public_html/radio/includes/database.mysql.inc</em> na linha <em>172</em>.', 2, '', 'http://www.aminharadio.com/radio/radio_hitlerdead', 'http://www.google.com.br/search?hl=pt-BR&safe=off&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=a+morte+de+hitler&spell=1', '201.69.28.56', 1222812891) in /home/aminhara/public_html/radio/includes/database.mysql.inc on line 172

Desculpem o post longo...

Cumps,

António

Enviado por aminharadio em ter, 30/09/2008 - 20:56.
  • Por favor, se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.