Adicionando o Drupal ao meu servidor significa que agora tem problemas de desempenho

2

Eu tenho um fórum vb 3.8.4 e um site drupal pressflow 6.22 juntos no meu servidor de hospedagem

Quando adicionei o site drupal ao servidor Eu tive muitos problemas de desempenho no servidor

E às vezes isso fazia o servidor cair

Aqui estão as especificações do servidor host:

  • Operating system CentOS Linux 5.5
  • Webmin version 1.560
  • Kernel and CPU Linux 2.6.18-194.26.1.el5 on x86_64 Processor information Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz, 2 cores
  • Real memory 3.74 GB total, 2.35 GB used Virtual memory 4 GB total, 124 kB used
  • Local disk space 1.76 TB total, 147.63 GB used

Aqui está a configuração básica do apache:

  • Apache MPM Prefork
  • HostnameLookups Off
  • AllowOverride None
  • MaxClients 100
  • ThreadsPerChild 25
  • StartServers 8
  • MaxRequestsPerChild 4000
  • mod_deflate is enabled
  • mod_expires is enabled

Aqui estão as configurações básicas do php.ini:

  • safe_mode = on
  • max_execution_time = 1200
  • max_input_time = 1200
  • memory_limit = 1500M

Aqui estão as configurações do mysql:

  • max_allowed_packet=3G
  • max_connections=200
  • wait_timeout=30
  • thread_cache=50
  • connect_timeout=30
  • query_cache_limit=1M
  • interactive_timeout=30

Aqui está o resultado do comando top cpu:

Aquiestáoresultadodoscomandosfree-meiostat:

Aqui está o resultado do comando mysqladmin -u root -p ext -ri 30 | grep tmp_disk_tables :

  • | Created_tmp_disk_tables | 1771 |
  • | Created_tmp_disk_tables | 2 |
  • | Created_tmp_disk_tables | 5 |
  • | Created_tmp_disk_tables | 3 |
  • | Created_tmp_disk_tables | 7 |
  • | Created_tmp_disk_tables | 0 |

Instalamos: ffmpeg, gd libraries e zend optimizer

A média de carga da CPU está sempre acima de 3

Então alguém pode me ajudar com isso?

Se precisar de alguma informação adicional necessária, basta perguntar nos comentários?

    
por Muhamad Bhaa Asfour 01.02.2012 / 12:41

3 respostas

4

Você tem um limite de memória de 3,5 GB ( memory_limit = 3500M ) e potencialmente está iniciando 256 servidores ( MaxClients 256 ). Isso traz o seu consumo total de memória potencial para pouco menos de 900 GB. A menos que você tenha muita RAM na caixa, é provável que você esteja trocando e isso é o que está causando a degradação do desempenho.

Você precisa discar drasticamente esses dois números. Eu nunca vi um limite de memória de 3,5 GB em meia década de suporte ao Drupal. Se você tiver uma tarefa ocasional que requeira um limite tão alto, ela provavelmente deverá ser executada na linha de comando, com drush , em vez de usar o Apache.

Qual é a saída de free -m ? Que tal iostat ( yum install sysstat se você não tiver)?

    
por 06.02.2012 / 21:29
1

Algum processo está comendo sua CPU. Para encontrar o que, faça o seguinte:

Type on the terminal:
top
Press Shift+P to order the list by CPU usage.

Verifique qual processo está consumindo sua cpu e verifique como lidar com ela ou publique-a aqui nos comentários.

    
por 01.02.2012 / 14:22
0

O Drupal é altamente relacional. Uma coisa que é comum com isso é a criação de tabelas temporárias no disco. Você quer minimizar isso se puder, otimizando as consultas ou colocando o tmpdir do MySQL em um disco RAM, se necessário.

Execute isto:

mysqladmin -u root -p ext -ri 30 | grep tmp_disk_tables

A primeira entrada informará quantas tabelas temporárias foram criadas no disco desde a última reinicialização; Depois disso, quantos foram criados durante 30 segundos até que você o Ctrl-C.

Você também não disse se suas tabelas do Drupal eram InnoDB ou MyISAM em termos de conselhos de configuração do MySQL. No Drupal 6, o padrão é MyISAM.

    
por 15.02.2012 / 21:41