L’utilisation de WP All Import, de WordPress Importer et de plugins similaires pour importer des fichiers XML, CSV, WXR et des images est une tâche courante pour les développeurs et les sites dont le contenu change fréquemment. Toutefois, il est également fréquent que des problèmes de timeout et de performance du site Web surviennent pendant le traitement de ces importations.

Dans cet article, nous discuterons des étapes que vous pouvez suivre pour vous frayer un chemin à travers un processus d’importation difficile.

Veuillez noter que nous ne pouvons pas garantir que chaque processus d’importation se déroulera avec succès sur notre plateforme. Si l’importation ne peut pas être exécutée avec succès chez Kinsta, nous vous recommandons d’effectuer l’importation dans un environnement de développement local et d’importer ensuite la base de données ou la table mise à jour dans la base de données de votre site Web.

Pourquoi les importations causent-elles des timeouts et des problèmes de performance ?

Il existe deux types de timeouts auxquels se heurtent généralement les gros processus d’importation :

  • Les timeouts PHP se produisent si un seul processus PHP s’exécute plus longtemps que le max_execution_time ou max_input_time défini dans la configuration PHP. Lorsque cela se produit, une erreur de serveur 502 est généralement affichée.
  • Les timeouts HTTP se produisent lorsque la connexion entre votre navigateur et le serveur Web est maintenue ouverte trop longtemps. Lorsque cela se produit, une erreur 504 Gateway Timeout est généralement affichée.

Il est courant que les performances d’un site Web soient également plus lentes lorsqu’une importation importante est en cours d’exécution. C’est parce que PHP et MySQL sont occupés à gérer le processus d’importation. Le trafic régulier sur le site doit donc attendre que PHP et MySQL soient disponibles pour générer la page demandée.

Gérer les timeouts PHP

Pour les sites hébergés sur Kinsta, le max_execution_time et le max_input_time de PHP sont configurés à 300 secondes par défaut. Les valeurs maximales de délai d’exécution PHP disponibles sur notre plateforme sont basées sur votre plan d’hébergement actuel.

Si vous rencontrez des délais d’exécution PHP, nous vous recommandons de travailler avec un développeur pour résoudre le problème. Par exemple, au lieu d’exécuter un processus d’importation via une longue requête PHP, il serait préférable d’exécuter l’importation directement sur le conteneur en utilisant WP-CLI ou un script PHP ou Bash local.

Gestion des timeouts HTTP

Les timeouts HTTP se produisent généralement après 60 secondes pour les sites hébergés chez Kinsta. En raison de la conception de notre infrastructure, nous ne sommes pas en mesure d’augmenter la durée du timeout HTTP.

Si vous rencontrez un timeout HTTP, il y a deux étapes à suivre pour tenter de résoudre le problème :

  • Si le processus s’interrompt pendant le téléchargement du fichier d’importation, passez à une connexion Internet plus rapide et réessayez le processus.
  • Si vous utilisez un outil prenant en charge WP-CLI, tel que le plugin WordPress Importer, vous pouvez exécuter l’importation directement sur le serveur et contourner entièrement la connexion HTTP.

Veuillez noter que l’exécution d’une importation via SSH est une modification du contenu de votre site Web qui n’entre pas dans le cadre de ce que notre équipe de support. De plus, si vous n’êtes pas familier avec SSH, vous devrez soit apprendre à utiliser cet outil puissant, soit travailler avec un développeur pour traiter l’importation via SSH.

Traiter les questions de performance des sites Web

Si le processus d’importation fonctionne correctement mais que votre site ne fonctionne pas bien pendant le processus, vous avez deux options :

  • Planifiez l’activité d’importation à un moment où le trafic est faible afin de minimiser l’impact sur les visiteurs de votre site.
  • Passez à un plan avec plus de workers PHP sur votre site en production. Si les problèmes de performance sont dus à l’indisponibilité de PHP pour gérer plus de demandes, la mise à niveau temporaire vers un plan avec plus de workers PHP signifie que PHP a plus de capacité pour gérer à la fois le trafic vers le site et l’importation.
  • La mise à niveau d’un plan n’aidera pas si vous essayez d’exécuter une importation sur un site de développement. Notre environnement de staging a un ensemble constant de workers PHP et ne sera pas affecté par les mises à niveau du plan.

La mise à niveau de plan pour avoir accès à plus de workers PHP n’aidera pas dans tous les cas. Si votre site tourne lentement parce que la base de données (MySQL) est occupée à insérer du contenu dans la base de données, il est peu probable que l’ajout de workers PHP supplémentaires accélère les performances de votre site.

Obtenir de l’aide

Si vous avez étudié les suggestions précédentes de cet article, que vous rencontrez encore des problèmes et que vous souhaitez obtenir de l’aide, l’étape suivante consiste à contacter notre équipe de support. Cependant, avant d’entamer une conversation avec notre équipe d’assistance, nous vous prions de rassembler autant d’informations que possible.

  • Lancez l’importation et indiquez combien de temps il faut pour que le processus échoue. Si le processus échoue après 1 minute, il est probable que vous rencontriez un timeout HTTP. S’il échoue après 5 minutes, il est probable que vous rencontriez un timeout PHP. S’il échoue à un autre moment, il est probable que vous rencontriez une autre limite ou une autre erreur et que vous ne voyiez pas réellement de timeout.
  • Vérifiez les logs d’erreurs au moment de l’échec de l’importation et voyez si une erreur a été enregistrée à ce moment là.
  • Faites une capture d’écran du message d’erreur ou de la page d’erreur que vous observez.
  • Rédigez une description concise du type de fichier que vous essayez d’importer, comment le fichier a été créé, ce qu’il contient, les outils utilisés pour créer le fichier et exécuter l’importation, et l’erreur que vous recevez.

Une fois que vous aurez recueilli ces informations, ouvrez un ticket avec l’équipe de support de Kinsta. Cependant, veuillez noter que nous ne pouvons pas garantir que nous serons en mesure de vous aider à faire fonctionner chaque importation avec succès.

Prochaines étapes – Processus de développement local

Si l’exécution de l’importation dans l’environnement de Kinsta n’est pas possible, l’étape suivante serait de développer un nouveau workflow pour le processus d’importation où l’importation est exécutée dans un environnement de développement local. Veuillez noter qu’un développeur devra être impliqué dans ce processus pour s’assurer qu’aucune donnée n’est perdue et que la base de données de votre site n’est pas endommagée.

En général, la procédure consiste à configurer une copie de votre site dans un environnement de développement local – vous pouvez utiliser DevKinsta – où vous pouvez contrôler toutes les limites de temps d’exécution. Terminez ensuite l’importation dans cet environnement local. Une fois l’importation terminée, exportez une copie de la base de données WordPress ou des tables de base de données mises à jour depuis votre environnement local. Créez ensuite une sauvegarde de votre site Web en production, déposez la base de données (ou les tables affectées) de votre site Web en production, et importez la ou les bases de données exportées depuis votre environnement local.