Wordpress lento ao publicar

1

Eu tenho um site Wordpress com mais de 219k de posts, e toda vez que eu publico algo, meu uso de CPU / MySQL chega a 100%.

Eu realmente não sei porque, porque todo o meu site fica em 6% durante todo o dia de uso e apenas picos em um novo post é publicado.

Sim, eu uso o super cache w3, mas o problema está no próprio wp-admin! Eu usei o mysqltuner para otimizar o MySQL ... Mas, como eu já disse, o problema só ocorre quando um novo post é publicado.

Eu uso duas nuvens no Amazon AWS para hospedar o blog. A nuvem do MySQL é m1.medium e o servidor da Web é m1.xlarge .

Aqui estão os gráficos da minha CPU, como você pode ver, eu tenho picos ao mesmo tempo em ambas as nuvens ... Esses picos ocorrem exatamente no momento em que eu publico uma nova postagem. A linha verde é o MySQL e a linha azul é o servidor da Web .

Aqui você pode ver o gráfico: link

Se ninguém puder me ajudar com esta situação, por favor, eu quero algo para "inspecionar" o código ... Toda a verificação do Wordpress é tão feia que não consigo entender como as novas postagens funcionam. Eu quero depurar as consultas / funções ou algo assim.

Obrigado!

    
por Gabriel Lopes 24.07.2012 / 21:39

2 respostas

1

Supondo que você tenha usado bem o mysqltuner, o problema pode estar no hardware de armazenamento de dados.

Presumivelmente, sua instância do MySQL está salvando dados em um volume do EBS. Há pelo menos dois problemas que você está enfrentando:

  • o EBS está lento
  • As instâncias médias têm desempenho IO relativamente lento em comparação com instâncias grandes. O EBS precisa de um bom desempenho de I / O.

Tente medir o desempenho do sistema de arquivos do volume do EBS onde seus dados do MySQL estão armazenados, usando algo como iozone . Quando fiz isso há algumas semanas, o desempenho de um volume do EBS montado em uma pequena instância era de cerca de meio e um único disco rígido no meu laptop .

Você pode melhorar o desempenho do EBS distribuindo vários volumes do EBS em uma configuração de invasão de software

link

link

Mover sua instância do MySQL para Grande ou melhor lhe dá muito mais memória, assim como melhor desempenho de I / O. Eu tentaria criar um RAID de software primeiro e, em seguida, considerar a mudança para uma instância maior. Observe que, na verdade, você pode reduzir o Wordpress de um xlarge para uma grande instância se ajustar bem a camada de dados.

    
por 25.07.2012 / 18:38
1

Eu tive um problema semelhante com uma instância média, mas acabou sendo um problema com o tema que eu estava usando. Altere o tema para um tema WP padrão para ver se o problema persiste. Havia uma função no arquivo function.php do tema que não estava funcionando corretamente. A exclusão da função corrigiu o problema de postagem para mim.

A ideia é diminuir se o tema ou mesmo um plug-in estiver causando o problema.

Exemplo: A função que eu tive que eliminar do tema que eu estava usando era

// updates post id in sequential order by post date used for post page
function updateNumbers() {

global $wpdb;
$querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts 
             WHERE $wpdb->posts.post_status = 'publish' 
             AND $wpdb->posts.post_type = 'post' 
             ORDER BY $wpdb->posts.post_date ASC";
$pageposts = $wpdb->get_results($querystr, OBJECT);
$counts = 0 ;
if ($pageposts):
foreach ($pageposts as $post):
    $counts++;
    add_post_meta($post->ID, 'incr_number', $counts, true);
    update_post_meta($post->ID, 'incr_number', $counts);
endforeach;
endif; 
}  

Um plug-in que causou problemas após a atualização para o 4.2.4 em vários sites foi "Instalador". O backend foi extremamente lento. A remoção desse plug-in resolveu esse problema.

    
por 03.08.2015 / 18:19