Passer la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Le client rencontre un problème de surcharge sur son serveur MariaDB causé par un grand nombre de requêtes générées par WPML et ACFML, même sans modification des paramètres WPML. Le client souhaite comprendre l'utilité des tableaux

[translation-management][custom_fields_translation]

et

[translation-management][custom_term_fields_translation]

dans

icl_sitepress_settings

qui sont constamment mis à jour.

Solution :
Nous avons identifié que le problème est lié à une ancienne version d'ACFML qui tente de synchroniser les champs. Nous recommandons fortement de mettre à jour les plugins WPML et ACFML pour résoudre le problème de performance. La dernière version de WPML, 4.6.9, inclut des améliorations significatives de performance. Avant de procéder à la mise à jour, il est crucial de faire une sauvegarde du site. Suivez notre guide pour une mise à jour sécurisée : Comment mettre à jour WPML en toute sécurité.

Si la mise à jour n'est pas possible pour le moment, une solution temporaire consiste à commenter la ligne suivante dans le fichier

wp-content/plugins/acfml/classes/Tools/Local.php

:

add_filter('acf/prepare_fields_for_import', [ $this, 'syncTranslationPreferences' ]);

Cependant, cette solution est temporaire et la mise à jour des plugins est la meilleure approche pour éviter de futurs problèmes.

Si cette solution ne vous semble pas pertinente, veuillez ouvrir un nouveau ticket de support : Forum de support WPML.

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Marqué : 

Ce sujet contient 18 réponses, a 3 voix.

Dernière mise à jour par Ilyes Il y a 1 année et 5 mois.

Assisté par: Ilyes.

Auteur Messages
décembre 12, 2023 à 7:58 am #15042807

patriceN-2

WPML fait planter Maria DB lorsqu'il tente d'exécuter des dizaines de requêtes sur la table wp_options. Nous avons échangés avec le support de l'infogérence qui nous demande de séparé la requête. Malheureusement il s'agit d'une seule directive avec une très longue valeur. Comment pouvons-nous faire ?

décembre 13, 2023 à 7:12 pm #15058265

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Bienvenue sur le support de WPML. Pourriez vous partager les informations de débogage afin que je puisse voir en détails votre configuration?
Veuillez suivre ces instructions: https://wpml.org/fr/faq/comment-fournir-des-informations-de-debogage-pour-une-assistance-plus-rapide/

En résumé:
- Allez dans "WPML > Assistance > Information de débogage" (lien)
- Copiez l'information.
- Puis trouvez le champ privé que j'ai activé pour la coller.

---

icl_sitepress_settings contient des informations importantes et fait référence à toutes les options incluses dans WPML, comme la configuration, les shortcodes, les statuts des champs (traduire, copier). Il ne faut donc pas supprimer cette ligne ou la modifier.

Pourriez vous essayer les solutions présentées ici: https://wpml.org/forums/topic/urgent-icl_sitepress_settings-is-510803-in-length-causing-website-down-time/

En résumé:
- Faites un backup de la base de données
- Choisissez "autoload = no" pour icl_sitepress_settings
De plus, vous pouvez réduire la taille de la table _options en suivant ces étapes :
- wpml_notices : peut être supprimé
- wpml_strings_need_link_fixed : peut être réduit en exécutant l'option Traduire les cibles de lien dans WPML > Paramètres.
- wpml_tp_api_logger : peut être supprimé
- WPML(logs): peut être supprimé
- wpml_tp_com_logs peut être effacé en allant dans "WPML > Assistance > journal de communication (lien)"

décembre 14, 2023 à 9:13 am #15061667

patriceN-2

Bonjour,

Merci pour votre réponse.
Je n'ai pas de champ privé pour coller cette information, pourriez-vous l'activer svp ?

Aussi, j'ai déjà tenté de mettre le champ en autoload = no mais cela ne change rien, d'autant plus que c'est l'UPDATE du champ qui pose problème, et non pas le SELECT.

Pour le reste des option_name "wpml_", elles ne posent pas problème elles non plus.

En vous remerciant,

décembre 14, 2023 à 4:45 pm #15066669

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Je réactive le champ privé pour les infos de débogage.

Ref: https://wpml.org/faq/provide-debug-information-faster-support/

décembre 16, 2023 à 9:23 am #15076929

patriceN-2

Voici les informations de débuggage.

décembre 18, 2023 à 10:42 am #15082505

patriceN-2

Le problème s'est produit samedi et vient encore de se produire.
J'ai pu compter 130 requêtes d'Update sur la BDD qui font planter Maria DB ...

Après vérification, les updates ne servent à rien car cette option à exactement la même valeur avant et après un update....

décembre 18, 2023 à 5:17 pm #15086505

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Bonjour,

Mon collègue Nicolas est actuellement en congé, je m'occuperai donc de votre demande par la suite :

1- Serait-il possible de partager un dump de la base de données de votre site ?

J'ai ouvert un champ privé pour que vous puissiez le partager.

2- J'aimerais vous demander un accès temporaire au wp-admin et au FTP de votre site de test,

Il est important de noter que vous devez sauvegarder votre site et votre base de données avant de procéder, et vous pouvez utiliser un plugin comme Duplicator à cette fin. Voici un lien vers ce plugin : http://wordpress.org/plugins/duplicator/

Si vous ne voyez pas le formulaire ci-dessous, n'entrez pas vos informations d'identification, car elles seront exposées publiquement :

lien caché

3- En fonction de nos observations, nous pourrions avoir besoin de migrer votre site sur l'un de nos serveurs cloudways, ce qui serait le moyen le plus efficace de déboguer les problèmes de performance, et ensuite je pourrais escalader le problème à nos développeurs.

Gardez à l'esprit que nous travaillons déjà sur des problèmes similaires liés à icl_sitepress_settings autoload, la migration de votre site nous aidera à identifier si votre site a les mêmes problèmes ou non, et nous permettra de faire des tests sans affecter votre site live/prod.

Cordialement,

décembre 19, 2023 à 2:02 pm #15093671

patriceN-2

J'ai tenté l'expérience de placer un LOGGER sur le hook "update_option".

En 10 minutes, l'option "icl_sitepress_settings" était mise à jour entre 38 et 800 fois par MINUTE. Soit 3819 UPDATE en 10 min.

J'en ai analysé quelques uns, pour le moment il s'agissait souvent de modifier un seul chiffre dans les tableaux [translation-management][custom_fields_translation] et [translation-management][custom_term_fields_translation].

décembre 21, 2023 à 8:28 am #15107289

patriceN-2

Bonjour,

Veuillez m'excuser j'ai dû faire une mauvaise manipulation, les accès que je vous ai fourni fonctionnent à présent.

En vous remerciant,

décembre 22, 2023 à 1:10 pm #15117459

patriceN-2

Bonjour,

Est-ce que je peux empêcher, temporairement, WPML de faire ses dizaines de milliers d'update ? Quel est le risque ? Car les données mises à jours ne semblent pas très importantes...

Avec les fêtes de fin d'année nous n'aurons pas nécessairement quelqu'un 7j/7 pour redémarrer Maria DB à chaque fois que WPML le fait planter :-/

En vous remerciant,

décembre 22, 2023 à 8:37 pm #15121809

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Malheureusement, il n'est pas recommandé de bloquer temporairement ces mises à jour sans les tester à long terme (cela pourrait causer des dommages inattendus), et je suis désolé de ne pas avoir de solution rapide car il faut plus de temps pour comprendre la nature du problème,

J'ai dû faire remonter le problème à nos développeurs car nous avons eu un problème similaire avec WPEngine, où ils effacent la clé de paramétrage de WPML, car elle est trop grande pour ses limitations. (peut-être que Kinsta a quelque chose de similaire ?), ce qui fait que WPML exécute ces requêtes plusieurs fois par jour.

Et dans un autre cas, ces requêtes sont exécutées à chaque fois que vous chargez une page,
Quel est le cas qui correspond le mieux à votre situation ?

Je ne peux pas vraiment savoir sans installer quelques plugins pour surveiller vos requêtes, puis-je installer Query Monitor ? Quand ces requêtes sont-elles exécutées ?

Cordialement,

janvier 3, 2024 à 8:22 am #15145425

patriceN-2

Bonjour,

Avez-vu pu avoir des réponses de vos développeurs concernant notre problème ?

De notre côté, les deux cas se présentent. Ces requêtes sont exécutées à chaque fois qu'une page est chargée, nous ne savons pas bien pourquoi puisque nous ne modifions pas les paramètres WPML. Compte tenu du trafic relativement important sur notre site, et basé sur mon analyse ici (https://wpml.org/fr/forums/topic/wpml-fait-planter-maria-db-lorsquil-tente-dexecuter-des-dizaines-de-requetes-sur-la-table-wp_options/#post-15093671) cela engendre plus d'un demi million de requête par jour sur un champ de près de 300 000 caractères pour simplement modifier un caractère ... imaginez-vous la surcharge ?

De plus, parfois, à une fréquence que nous n'avons pas réussi à déterminer, WPML envoi plus de 100 ou 150 requêtes en même temps et cela fait planter notre serveur Maria DB (problème à l'origine de ma demande de support ici).

Nous avons déjà Query Monitor d'installé que nous activons par parcimonie lorsque cela est nécessaire (c'est un site de production tout de même). Malheureusement, face au caractère "aléatoire" de ces surcharges, nous ne pouvons faire de tests efficace sur ces requêtes : nous ne pouvons pas laisser Query Monitor activé en permanance et nous ne pouvons plus l'activer une fois que le problème a commencé.

Pouvez-vous me dire a quoi servent les tableaux [translation-management][custom_fields_translation] et [translation-management][custom_term_fields_translation] de icl_sitepress_settings qui semblent être mis à jour sans cesse ?

En vous remerciant,

janvier 8, 2024 à 8:17 am #15158710

patriceN-2

Bonjour,

J'ai positionné quelques logs depuis vendredi.
05/01/2023, entre 9h et 0h : 579 000 updates
06/01/2023 (24h) : 895 000 updates
07/01/2023 (24h) : 831 000 updates
08/01/2023, entre 0h et 9h15 (à l'heure où j'écris ces lignes) : 257 000 update

Il faut à tout prix que nous trouvions une solution à ce problème, nous avons eu plusieurs plantage la semaine dernière à cause de ces updates.

J'attends votre retour, en vous remerciant.

janvier 8, 2024 à 1:51 pm #15160673

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-06:00)

Bonjour,

Il s'avère que nous avons eu récemment des problèmes similaires liés à la performance sur lesquels nos développeurs travaillent déjà.

Afin d'accélérer la recherche d'une solution pour votre site, nous avons besoin soit d'un dump de la base de données et d'un clone de fichiers, soit d'un Duplicator PRO, serait-il possible de nous fournir cela ?

Nous vous remercions.

janvier 9, 2024 à 9:27 am #15163612

patriceN-2

Bonjour,

Merci pour votre retour.
Vous avez déjà les accès FTP et et je mets à jour le dump de la BDD à disposition dans le dépôt FTP (voir message privé du 19/12/2023).

PS : Pour information, hier nous avons dépassé le million d'update de l'option icl_sitepress_settings avec exactement 1 048 960 updates en 24h (soit une moyenne de plus de 12 / seconde)