PB hébergement Wordpress / requête SQL

Nouveau WRInaute
Bonsoir,
Je me permets de venir sur ce Forum en dernier recours car je suis totalement perdu. Mon hébergeur me laisse 15 jours pour trouver une solution pour alléger le site ou trouver un autre hébergeur (ou passer en serveur dédié...). En effet, j'ai reçu le mail suivant comme quoi "le site a été migré sur TMU pour décharger notre serveur. La requête qui pose problème :

SELECT ID, post_title, COUNT(wp_comments.comment_post_ID) AS 'stammy' FROM wp_posts, wp_comments WHERE comment_approved = '1' AND wp_posts.ID=wp_comments.comment_post_ID AND post_status = 'publish' AND post_date < '2010-05-31 08:12:19' AND post_date > '2009-05-31 10:12:19' AND comment_status = 'open' GROUP BY wp_comments.comment_post_ID ORDER BY stammy DESC LIMIT 10

Vous devez corriger le problème pour espérer un retour sur mutualisé."

J'ai bien compris que le problème concernait les commentaires mais y-a-t-il quelque chose à faire ou je dois trouver un autre hébergeur? Quelle solution d'hébergement dans ce cas? Le site fait environ 20 000 visites/jour et le pb est qu'il y a beaucoup de visiteurs en instantané. La BDD plante régulièrement...

Merci par avance,
 
WRInaute passionné
Tu peux nous filer le résultat d'un :
Code:
EXPLAIN SELECT ID, post_title, COUNT(wp_comments.comment_post_ID) AS 'stammy' FROM wp_posts, wp_comments WHERE comment_approved = '1' AND wp_posts.ID=wp_comments.comment_post_ID AND post_status = 'publish' AND post_date < '2010-05-31 08:12:19' AND post_date > '2009-05-31 10:12:19' AND comment_status = 'open' GROUP BY wp_comments.comment_post_ID ORDER BY stammy DESC LIMIT 10
Ca nous aiderait un peu.

Un système de cache permettrait de feinter ce problème mais bon, si c'est une requête bloquante c'est juste une feinte
 
WRInaute accro
Tu veux faire quoi exactement ? Ne peux tu pas utiliser les fonctions standards de wordpress ? et le champs comment_count de la table wp_posts au lieu de faire ton count ?

Pourquoi ne pas passer par query posts() et $wpdb->prepare si tu veux vraiment faire une requete spécifique ?

http://codex.wordpress.org/fr:Accueil
 
Nouveau WRInaute
Merci pour vos réponses mais il est vrai que vous parlez chinois pour moi!
Je pense que c'est une requête qui est dans le thème Wordpress que j'ai pris à l'époque, un Woothemes. C'est, je crois, ce qui permet d'afficher les 10 posts les plus populaires soit ceux qui ont le plus de commentaires...

Pensez-vous que cela soit "réparable"?
 
WRInaute accro
Le problème est la structure de ta requête, qui va chercher tous les posts, et pour chaque post compte le nombre de commentaires.
Comme je te l'ai dit, il y a un champs "comment_count" dans la table wp_posts, qui est incrémenté par les processus de wordpress, et qui te permet d'éviter de "compter" les commentaires à chaque fois.

SELECT ID, post_title, comment_count as stammy FROM wp_posts WHERE comment_approved = '1' AND post_status = 'publish' AND comment_status = 'open' ORDER BY stammy DESC LIMIT 10

(je t'ai laissé le "as stammy" car il est sans doute utilisé ensuite)

Maintenant les thèmes Woo sont payants, normalement c'est à l'auteur de faire le support. Le problème est que beaucoup de thèmes "multi cms" comme ceux proposés par Woo sont en fait assez mal codés. J'ai fait l'expérience sur plusieurs thèmes que j'ai achetés, et entièrement recodés derrière
 
WRInaute passionné
Regarde du côté des plugins de caching.

J'ai entendu du bien de celui ci par exemple : W3 Total Cache


ça pourrait solutionner le problème (et largement alléger les ressources serveurs)
 
WRInaute occasionnel
C'est la mère des caches WP. Je recommande surtout si vous avez un serveur.

Comme méthode de cache de pages, il utilise une des méthodes suivantes:
- disque
- memcached
- APC cache

La version précédente était incompatible avec Eaccelerator. Vérifiez pour la version la plus récente.
 
WRInaute occasionnel
On en parle encore en bien. Elle est beaucoup utilisée surtout en mutualisé.

W3 Total est surtout orienté serveur avec APC Cache (le plus efficace à mon avis) ou Memcached installé.

Plus avoir testé les deux, je dirais 30% à 50% plus efficace (rapide) que WP SuperCache. Aussi plus facile à installer.
 
Discussions similaires
Haut