Je possède une installation wordpress et mise à jour à 3.4.1.
Après la mise à niveau, mon wordpress a connu un ralentissement très étrange.
Après tout, j'ai utilisé le
define('SAVEQUERIES', true);
dans mon wp-config.php avec combiné avec le code suivant dans mon thème footer.php
global $wpdb;
echo "<pre>";
print_r($wpdb->queries);
echo "</pre>";
et j’ai trouvé que même si je n’ai pas beaucoup de requêtes (49 requêtes que j’ai eues), il y en a
Ici, je vais vous montrer certaines des questions:
/* Execution time 7.0095062E-5 */
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('category') AND tt.count > 0 ORDER BY t.name ASC
/* Execution time 5.3167343E-5 */
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (77375,77379,77381)
/* Execution time 9.2029572E-5 */
SELECT wp_posts.* FROM wp_posts WHERE ID IN (77381,77379,77375)
Dans la plupart des requêtes, la requête est simple, sans complexité et je ne vois pas pourquoi ces requêtes sont si lentes.
La base de données WordPress contient environ 60 000 enregistrements et s'exécute sur percona.
Toute idée sur ce problème et comment puis-je résoudre ce problème?
Si vous avez 60 000 enregistrements, essayez de nettoyer les révisions de publication/publication; ceux-ci s'accumulent vraiment et provoquent des requêtes excessivement longues. J'ai vu la taille des bases de données chuter de 90% avec des augmentations énormes de performances.
Exécutez la requête ci-dessous dans phpmyadmin ou à partir de la ligne de commande, puis optimisez:
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Parlez aussi à votre hébergeur. Peut-être que MySQL ou votre processeur est en train d’être étranglé.
vous avez raison ... il ne devrait pas y avoir de problème de performances et votre base de données ne nécessite que quelques améliorations pour la mise en cache.
Utilisez-vous le cache total W3 - cela devrait avoir un avantage immédiat pour les performances de votre site et vous voudrez le mettre en cache base de données si cela est possible avec votre Serveur.
Ensuite, effectuez une sauvegarde de votre base de données SQL et vous devez également optimiser et réparer les tables .