web-dev-qa-db-fra.com

Réduire la consommation de mémoire d'un site WordPress?

Le site de test nécessite beaucoup de mémoire lors de la visualisation de pages de catégorie/archives.

J'ai rencontré les messages d'erreur suivants hier:

Erreur irrécupérable: taille de mémoire autorisée de 33554432 octets épuisés (tentative d'allocation de 48 octets) dans /var/www/t/wp-includes/load.php à la ligne 552

Erreur irrécupérable: taille mémoire autorisée de 209715200 octets épuisés (tentative d'allocation de 40 octets) dans /var/www/t/wp-includes/meta.php à la ligne 307

Le problème a été résolu en ajoutant "define ('WP_MEMORY_LIMIT'," 210M '); " ligne au fichier wp-config.php.

Mais cela ne suffit pas. Le site de production aura beaucoup plus de données que le site de test, ce qui signifie que je dois ajouter le "define ('WP_MEMORY_LIMIT', '2100M');" ligne au fichier wp-config.php. Et 2100M pourraient ne pas être assez grands à mesure que le temps passe.

Comment diminuer considérablement la consommation de mémoire du site WordPress? Toute aide est appréciée.

5
Box

La mémoire WordPress est quelque chose de difficile à gérer. Si la méthode standard ne vous aide pas (ne vous fiez pas à la constante WP_MEMORY_LIMIT, elle est conceptuellement cassée, utilisez plutôt ini_set dans wp-config.php), vous pouvez uniquement lancer du matériel ou pirater le noyau.

Vérifiez si vous utilisez une version récente de PHP sur votre système. Si c'est quelque chose avec PHP 4, passez à PHP 5.

Si vous utilisez PHP 5 en version inférieure à PHP 4(<- c'est pour un test et uniquement si un autre recours est disponible. Vous devriez considérer cela comme une mauvaise chose. pratique car cela ne vous mènera nulle part dans un avenir proche)

Ces deux conseils peuvent sembler drôles, mais je connais les deux: WP PHP 5 sites saturés en mémoire mais ayant ensuite travaillé sur PHP 4 et inversement. rond. Juste essayer.

Ce sont les meilleurs conseils généraux que je puisse donner. Le sujet est large , nous le traitons normalement individuellement.

3
hakre

Cela pourrait également être une bonne idée d'implémenter la mise en cache. En fonction de la fréquence de mise à jour de ces archives et de ces pages de catégorie, vous pouvez enregistrer la sortie dans une mémoire cache et ne lui permettre d'être mise à jour qu'après, par exemple, 15 minutes.

Bien que vous ayez écrit que la consommation de mémoire élevée était due à un fichier spécifique, il peut être recommandé de mettre en cache les pages les plus chargées en requêtes pour les sites à fort trafic.

2
Lars Koudal

Je ne sais pas quelle est votre situation d'hébergement ni vos exigences en matière de performances, mais j'ai constaté une réduction importante de l'utilisation de la mémoire en passant d'Apache2 à lighttpd sur mon hôte Linux.

1
ssweeny