Como acelerar o Drupal 7 com o DB remoto (não resolvendo o DNS)

2

temos o Drupal 7 na máquina virtual Ubuntu LTS (VMWare) com o servidor MySQL 5.1 no mesmo servidor físico, mas em uma máquina virtual diferente.

O site do Drupal está atualmente em desenvolvimento, portanto, praticamente não há tráfego, apesar do ping e do acesso ao shell serem rápidos, o site do Drupal está rodando de forma extremamente lenta (> 5 segundos para carregar qualquer página). Depois de pesquisas aqui e em outros lugares, eu entendo que o problema é com o fato de que o SQL é acessado via interface de rede, o que o Drupal aparentemente faz muito mal.

Eu verifiquei a resolução de DNS e não deve haver nenhuma do lado do Drupal (o host db é dado pelo ip, existe uma entrada do dns no arquivo / etc / hosts) nem do lado do MySQL (skip-name-resolve está ligado, cliente drupal é concedido acesso por endereço ip).

O Drupal devel querylog diz:

Executed 336 queries in 5993.89 ms. Queries exceeding 5 ms are highlighted. Page execution time was 7015.35 ms. Memory used at: devel_boot()=5.53 MB, devel_shutdown()=93.35 MB, PHP peak=94 MB.

O estranho é que, para um único carregamento de página, cerca de 2/3 das consultas são rápidas, outras são excessivamente lentas:

1.765 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache_bootstrap WHERE cid IN (:cids_0)
default
575.825 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache_bootstrap WHERE cid IN (:cids_0)
default
13.585 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache_bootstrap WHERE cid IN (:cids_0)
default
466.9914 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache WHERE cid IN (:cids_0)
default
1.841 drupal_lookup_pathP A E
SELECT source FROM url_alias WHERE alias = :alias AND language IN (:language, :language_none) ORDER BY language ASC, pid DESC
default

A situação é remediada para o acesso anon habilitando o cache do Drupal. Toda a interface administrativa, no entanto, ainda é tão lenta.

A política atual da empresa é ter o servidor de banco de dados separadamente. Poderia haver outras opções para acelerar o Drupal?

A configuração padrão do banco de dados diz o driver 'mysql', talvez eu deva alterá-lo para 'mysqli' ou 'pdo_mysql'? Se eu mudar para o mysqli, no entanto, o database.inc reclama que o driver relevante não existe - qualquer coisa para instalar lá especificamente para o drupal, como mysqli & pdo são ambos habilitados no próprio PHP.

    
por Gnudiff 09.05.2012 / 15:56

5 respostas

0

Como esta pergunta ainda está atraindo respostas, eu mesmo responderei, já que eu meio que resolvi isso antes.

Basicamente, assim que eu mudei o Mysql para o mesmo VM que o Drupal, tudo ficou muito rápido. Portanto, o problema era o grande número de consultas SQL que o Drupal emitia para cada página load = bad architecture.

    
por 17.11.2017 / 13:22
0

Acho que há duas áreas em que você pode otimizar seu site:

  1. Reduza as consultas individuais ajustando seu banco de dados MySQL. Gostaria de começar com mysqltuner.pl , que mostrará problemas óbvios com a sua instalação e fornecerá dicas de ajuste.
  2. Reduza o número de consultas. Conheço uma grande instalação do Drupal em que isso foi feito usando o memcache no host do servidor da web.

Você verificou Como gerenciar o desempenho do site em drupal.org?

    
por 09.05.2012 / 21:59
0

Eu experimentei o mesmo problema e usei o Google PageSpeed e o YSlow do Google Chrome para descobrir meus problemas.

Basicamente, eu estava seguindo estes passos abaixo:

Tente instalar o PHP APC , defina o tamanho de APC shm como 256Mb (há um monte de instruções para isso). Então certifique-se de que KeepAlive esteja On para o Apache, e também ative a compressão Apache (via Apache mod_deflate).

    
por 23.12.2012 / 01:51
0

Minha suspeita é que não há memória suficiente para o PHP rodar. Verifique o memory_limit no arquivo PHP.INI. Mude para -1 (memória ilimitada) para ver se o desempenho melhora. Se isso não acontecer, então você está em um longo curso. Aqui estão os links para meus artigos publicados sobre como melhorar o desempenho do Drupal

  1. Ajustando a pilha LAMP para melhorar o desempenho do Drupal
  2. Melhorando o desempenho dos sites do Drupal
por 17.11.2017 / 11:59