View a markdown version of this page

Conseils et bonnes pratiques pour les WordPress instances dans Amazon Lightsail - Amazon Lightsail

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Conseils et bonnes pratiques pour les WordPress instances dans Amazon Lightsail

Ce guide rassemble des conseils pratiques pour garantir la rapidité, la stabilité et la sécurité d'une WordPress instance sur Amazon Lightsail.

Assurez la sécurité et la mise à jour de votre site

Maintenir WordPress les thèmes et les plugins à jour

  • Appliquez rapidement les mises à jour du WordPress noyau, du thème et du plugin. Les mises à jour incluent souvent des correctifs de performance et de sécurité. Pour plus d'informations, voir Sécuriser les instances et les conteneurs Lightsail grâce à la gestion des mises à jour.

  • Supprimez les plugins et les thèmes que vous n'utilisez pas. Les plug-ins inactifs continuent d'augmenter les coûts de maintenance et de sécurité, et les plug-ins mal écrits sont une cause fréquente d'une utilisation élevée de la mémoire.

  • Testez les mises à jour majeures sur une copie instantanée de votre instance avant de les appliquer à votre site en ligne.

Sauvegardez avant d'apporter des modifications

Avant de modifier les fichiers de configuration ou d'installer des plugins, prenez un instantané de votre instance afin de pouvoir facilement restaurer votre application à partir de cet instantané en cas de problème :

  • Créez un instantané manuel à partir de la console Lightsail, ou

  • Activez les instantanés automatiques.

Pour obtenir des instructions, consultez les sections Sauvegarder les instances de Linux/Unix Lightsail avec des instantanés et Configurer des instantanés automatiques.

Surveillance et résolution des problèmes

Comment savoir si la mémoire de mon instance est insuffisante ?

Les symptômes courants incluent :

  • Votre site affiche le message « Erreur lors de l'établissement d'une connexion à la base de données » (à la fois sur le site public et sur le panneau d'administration). Cela signifie généralement que MariaDB s'est arrêté.

  • Le site se charge lentement ou expire lorsque le trafic est faible.

Pour confirmer, connectez-vous à votre instance via SSH et vérifiez l'utilisation actuelle de la mémoire :

free -m

Regardez la available colonne ci-dessousMem:. Il s'agit de la quantité de mémoire que votre instance peut encore utiliser. Si la available taille est inférieure à 50 Mo, votre instance est soumise à une forte pression en termes de mémoire et risque de subir des OOM-killing processus.

Vous pouvez également vérifier si le noyau a mis fin à un processus en raison d'un manque de mémoire (un « OOM kill ») :

sudo dmesg | grep -i "out of memory"

Si vous voyez des entrées mentionnant mariadbd ou mysqld que votre base de données est interrompue en raison de la pression de la mémoire, les étapes décrites dans Améliorer les performances de la mémoire devraient vous aider.

Mon instance dispose-t-elle déjà d'un réglage automatique de la mémoire ?

Le nouveau modèle de WordPress Lightsail inclut un service qui détecte la taille de la mémoire de l'instance et applique automatiquement le swap, MariaDB Apache/PHP et les paramètres décrits dans ce guide chaque fois que l'instance démarre, y compris après son démarrage ou son redémarrage. Pour vérifier si votre instance en dispose, connectez-vous via SSH et exécutez :

systemctl status lightsail-memory-config

Si le service existe, votre instance gère déjà ces paramètres automatiquement et vous n'avez pas besoin de les appliquer manuellement. Si la commande indique que l'unité est introuvable, suivez les étapes décrites dans Améliorer les performances de la mémoire.

Optimiser les performances

Choisissez le pack adapté à votre charge de travail

Le moyen le plus efficace d'améliorer les WordPress performances consiste à exécuter sur un bundle d'instances disposant de suffisamment de mémoire pour votre charge de travail. WordPress lui-même est léger ; cependant, les plugins, les thèmes et la base de données peuvent consommer beaucoup de mémoire.

  • 512 Mo à 1 Go de RAM (ensembles d'instances Lightsail nano et micro) : convient aux petits blogs et aux sites à faible trafic avec un minimum de plugins. Ces instances sont les plus susceptibles de subir une pression sur la mémoire et bénéficient le plus des réglages ci-dessous.

  • 2 Go de RAM et plus : recommandé si vous utilisez des constructeurs de pages (tels que Elementor ou Divi) ou de nombreux plugins actifs. WooCommerce

À mesure que votre site se développe et nécessite davantage de ressources, vous pouvez passer à un ensemble plus important en créant un instantané et en lançant une nouvelle instance plus grande à partir de celui-ci.

Améliorez les performances de la mémoire

Note

Le nouveau modèle de WordPress Lightsail applique automatiquement le réglage de la mémoire en fonction de la taille à chaque démarrage de l'instance. La plupart des étapes manuelles de cette section sont donc gérées pour vous si vous créez une nouvelle instance Lightsail. WordPress

Si votre site affiche le message « Erreur lors de l'établissement d'une connexion à la base de données » lorsque vous (ou vos visiteurs) essayez de charger une page, ou si vous voyez des messages indiquant que MariaDB a été interrompue en raison d'un manque de mémoire (Out of memory: Killed process ... (mariadbd)comme dans le journal système), votre instance est probablement à court de mémoire. Sur les instances plus petites, le noyau Linux peut mettre fin au processus de base de données MariaDB (un « kill OOM ») lorsque la mémoire est épuisée.

Les trois étapes ci-dessous réduisent la charge de mémoire en ajoutant de l'espace d'échange et en limitant la quantité de mémoire que la base de données et le serveur Web sont autorisés à utiliser. Chaque étape est utile à elle seule, vous pouvez donc appliquer uniquement celles dont vous avez besoin, ou les trois pour un effet optimal. Avant de commencer, assurez-vous de disposer du dernier instantané de votre instance. Pour plus de détails, voir Sauvegarder avant d'apporter des modifications.

Important

Ces étapes nécessitent de vous connecter à votre instance via SSH et d'exécuter des commandes avecsudo. Le redémarrage de la base de données et du serveur Web interrompt brièvement votre site (quelques secondes) ; apportez donc les modifications pendant une fenêtre de faible trafic.

Pour vous connecter à votre instance, utilisez le client SSH basé sur un navigateur dans la console Lightsail ou consultez Connect to your Linux or Unix instance.

Étape 1 : ajouter un fichier d'échange

Un fichier d'échange permet au système d'exploitation de décharger la mémoire inactive sur le disque, ce qui permet d'éviter les pannes de mémoire insuffisante sur les instances disposant de moins de 1,5 Go de RAM environ. Nous recommandons d'ajouter le swap sur les nano-bundles ou les microbundles, ce qui n'est généralement pas nécessaire sur les plus grands.

Vérifiez d'abord si le swap est déjà actif :

cat /proc/swaps

Si la seule ligne imprimée est l'en-tête (aucune entrée d'échange n'est répertoriée), aucun échange n'est configuré :

Filename Type Size Used Priority

Créez un fichier d'échange de 650 Mo :

sudo dd if=/dev/zero of=/mnt/.lightsail.swap bs=1K count=665600 status=progress sudo chmod 600 /mnt/.lightsail.swap sudo mkswap /mnt/.lightsail.swap sudo swapon /mnt/.lightsail.swap

Pour que le fichier d'échange persiste après les redémarrages, ajoutez-le à /etc/fstab :

echo '/mnt/.lightsail.swap none swap sw 0 0' | sudo tee -a /etc/fstab

Confirmez que le swap est désormais actif :

cat /proc/swaps

Le fichier d'échange apparaît maintenant dans la sortie :

Filename Type Size Used Priority /mnt/.lightsail.swap file 665596 0 -2

Étape 2 : Régler la base de données MariaDB

innodb_buffer_pool_sizeest le plus grand consommateur de mémoire de MariaDB. Si la taille du pool par défaut est trop grande par rapport à la mémoire de l'instance, cela peut contribuer à des pannes de mémoire insuffisante.

Recherchez la valeur recommandée innodb_buffer_pool_size pour votre instance dans le tableau de configuration recommandée, puis créez un fichier de configuration dédié avec cette valeur (16Mremplacez-la dans l'exemple par votre valeur) :

sudo tee /etc/mysql/mariadb.conf.d/90-lightsail-memory.cnf > /dev/null <<'EOF' [mysqld] innodb_buffer_pool_size = 16M EOF

Pour exécuter la modification, exécutez la commande suivante qui redémarre la base de données :

sudo systemctl restart mariadb

Étape 3 : Régler Apache et PHP

Apache est le serveur Web qui gère les requêtes entrantes WordPress sur votre site. Par défaut, il autorise jusqu'à 150 processus de travail simultanés (MaxRequestWorkers). Sur une petite instance, chaque travailleur PHP peut utiliser des dizaines de mégaoctets, ce qui peut épuiser la mémoire en cas de charge. Pour limiter le nombre de travailleurs correspondant à votre instance et limiter la quantité de mémoire qu'une seule requête PHP peut utiliser, définissez les mpm_prefork limites d'Apache (les valeurs indiquées concernent une micro-instance ; consultez le tableau de configuration recommandé pour votre instance) :

sudo tee /etc/apache2/mods-available/mpm_prefork.conf > /dev/null <<'EOF' <IfModule mpm_prefork_module> StartServers 1 MinSpareServers 1 MaxSpareServers 3 MaxRequestWorkers 5 MaxConnectionsPerChild 5000 </IfModule> EOF

Définissez le PHP memory_limit (512 Mo est une limite supérieure sûre pour toutes les tailles). Détectez d'abord votre version de PHP, puis écrivez le fichier de configuration :

PHP_VERSION=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') sudo mkdir -p /etc/php/${PHP_VERSION}/apache2/conf.d sudo tee /etc/php/${PHP_VERSION}/apache2/conf.d/90-lightsail-memory.ini > /dev/null <<'EOF' memory_limit = 512M EOF

Appliquez les deux modifications en redémarrant Apache :

sudo systemctl restart apache2

Utilisez les valeurs ci-dessous en fonction de la RAM totale de votre instance. Pour vérifier la mémoire de votre instance, exécutez free -m et examinez la total colonne, ou consultez la taille de votre bundle dans la console Lightsail.

Utiliser la mise en cache pour réduire la charge

La mise en cache réduit la fréquence WordPress d'interrogation de la base de données et d'exécution de PHP, ce qui réduit l'utilisation du processeur et de la mémoire :

  • Mise en cache des pages : installez un plugin de mise en cache tel que W3 Total Cache ou WP Super Cache pour diffuser des copies statiques de vos pages.

  • Mise en cache d'objets : si votre site compte de nombreux utilisateurs connectés WooCommerce, exécute ou utilise du contenu dynamique qui change souvent (comme des forums ou des espaces réservés aux membres), un plugin de cache d'objets (tel que Redis Object Cache ou APCu-based caches) stocke les résultats des requêtes fréquemment utilisés en mémoire et réduit les recherches répétées dans la base de données.

  • Un réseau de diffusion de contenu (CDN) : déchargez les ressources statiques (images, CSS JavaScript) vers un CDN tel que Lightsail Distribution afin qu'elles ne soient pas desservies par votre instance.