web-dev-qa-db-fra.com

Performance sur WPMS

mon site WPMS est hébergé sur un serveur 8 cœurs/32 Mo. RAM, mais le temps de réponse est très long. Nous avons environ 1000 blogs (plus de 35 000 tableaux sur une seule base de données) et 70 000 pages vues par mois. Je pense que je peux réduire le temps de réponse en déplaçant les blogs qui ont plus de pages vues dans une base de données séparée et en divisant tous les blogs en 100 blogs par db avec le plugin hyper-db. Qu'est-ce que tu penses?

1
Marcos Lopes

Oui, vous avez depuis longtemps dépassé le point de fractionner la base de données. ;)

2
andrea_r

70k pages vues par jour semble plutôt trivial compte tenu de votre matériel. Même si l'essentiel est réparti sur 10 heures par jour, vous avez à peu près une page par seconde. Votre matériel devrait pouvoir gérer cela sans problème. (Là encore, c'est WP ...)

Avant de commencer à fractionner des sites dans plusieurs bases de données, installez memcached et un cache d’objets. Cela réduira le nombre de requêtes de base de données.

Ensuite, ajoutez éventuellement BatCache ou le cache semiologic (qui a sa propre implémentation de cache objet), autrement dit quelque chose qui implémente la mise en cache basée sur memcached (les premières pages de cache mises à la disposition des invités, les secondes mises en cache servies aux invités et les requêtes clés pour tous les utilisateurs ). Si vous pensez que vous finirez par dépasser un seul serveur, vous ne voulez pas de mise en cache basée sur des fichiers statiques. Si vous pensez ne pas le faire, Total Cache ou même Super Cache sont également de bons choix.

Enfin et surtout, avez-vous configuré mod_deflate (qui est également intégré à Sem Cache) et la concaténation des actifs (également effectuée par Sem Cache, ainsi que par d'autres comme Total Cache)? Ceux-ci réduisent considérablement le temps de chargement perçu.


Edit: désolé, je viens de relire la question et vous dites 70k par mois, pas par jour; ce qui est encore plus ridicule comme charge de serveur: 2 pages servies par minute, c’est-à-dire que votre processeur doit presque toujours être inactif.

1
Denis de Bernardy

Essayez d'abord db-cache. Si vos requêtes commencent à être en cache-d, vous constaterez une amélioration de 5 à 6 fois. Wordpress n'a pas de cache permanent. Quelqu'un peut-il dire pourquoi? Chaque métadonnée, les données utilisateur proviennent de la base de données pour chaque chargement de page. Absurdité...

0
Mikló Géza