WPML

WPML 3.5 a apporté un changement majeur à la Traduction de chaînes. Lors de son déploiement, nous avons pris connaissance d’un certain nombre de cas qui n’étaient pas apparus lors du développement. Les mises à jour qui ont suivi résolvent tous les problèmes et améliorent encore les performances.

Corrections depuis WPML 3.5


  • Correction d’une exception non interceptée dans les cas où la colonne domain_name_context_md5 n’existait pas dans la table icl_strings

  • Correction de l’erreur fatale : Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0 lors du filtrage des permaliens

  • Correction d’une erreur fatale apparaissant lors de la mise à niveau : WordPress database error: specified key was too long; max key length is 1000

  • Correction de l’erreur fatale : Declaration of WPML_Post_Element::get_type() must be compatible with that of WPML_Translation_Element::get_type() pour PHP 5.2

  • Suppression de la barre oblique inversée \ initiale pour éviter des avertissements dans les versions de PHP antérieures à 5.3

Améliorations de la vitesse


Nous avons apporté quelques ajustements à la nouvelle table qui stocke quelles chaînes apparaissent sur quelle page. Ces modifications réduisent considérablement la taille de la table, améliorent les performances et réduisent la consommation de mémoire.

  • Division d’une grande table avec des redondances en deux tables petites et efficaces

  • Optimisation des index de table

  • Limitation de la croissance possible de la table pour les sites qui utilisent des arguments d’URL, en utilisant une liste blanche d’arguments qui modifient la sélection de pages

Les résultats


Nous avons mesuré les performances de notre propre site pendant les mises à jour de version. Vous pouvez constater que la charge a diminué, puis augmenté (lorsque les index de la table n’étaient pas optimisés) et qu’elle est désormais redescendue en dessous de son niveau initial.
WPML 3.4 - la Traduction de chaînes prend plus de temps à charger car nous préchargeons un très grand nombre de chaînes
WPML 3.4 – la Traduction de chaînes prend plus de temps à charger car nous préchargeons un très grand nombre de chaînes
Le temps de chargement de la Traduction de chaînes a diminué, mais nous avons maintenant une grande table string_pages
Le temps de chargement de la Traduction de chaînes a diminué, mais nous avons maintenant une grande table string_pages.
Nous avons divisé la table string_pages en deux plus petites, mais un index supplémentaire ralentit les sélections
Nous avons divisé la table string_pages en deux plus petites, mais un index supplémentaire ralentit les sélections
Des tables plus petites et un index correct. Nous sommes enfin bons.
Des tables plus petites et un index correct. Nous sommes enfin bons.

Les nombres absolus dans tous ces graphiques sont moins significatifs, car ils ont été relevés différents jours de la semaine. Le vendredi, notre trafic est bien inférieur à celui du lundi. Pour comprendre les changements, regardez la proportion entre les segments. Vous pouvez voir qu’à l’origine, l’accès à icl_strings prenait à peu près le même temps que la récupération des articles (ce qui n’est pas une bonne chose). Désormais, tous les accès à la base de données de WPML prennent en moyenne 1/3 des requêtes d’articles. C’est très significatif, car WPML doit charger un très grand nombre de chaînes, tandis que WordPress n’a besoin que de quelques articles.

Un meilleur processus la prochaine fois


Nous avons dû publier cette mise à jour avant de pouvoir exécuter les mesures de performances complètes, car elle incluait des modifications pour WordPress 4.6. À l’avenir, nous veillerons à dissocier les améliorations de performances de la compatibilité avec WordPress. Dès qu’une nouvelle version de WordPress atteindra le stade de « release candidate », nous ferons une version mineure contenant uniquement des modifications de compatibilité. Nous garderons du temps pour exécuter des modifications de performances plus longues, non liées aux corrections de bogues et aux mises à jour de compatibilité, et nous ne les publierons qu’après être pleinement satisfaits des résultats.

La prochaine version publiée de WPML continuera de se concentrer sur la stabilité et les performances. 99 % des sites utilisant WPML fonctionnent désormais sans problème, mais il y a quelques sites qui utilisent des configurations « uniques » du serveur web, de PHP ou de la base de données. Nous allons traiter ces cas dans la prochaine version mineure. Nous incluons également quelques optimisations de performances supplémentaires, qui rendront l’interface d’administration et l’interface publique plus légères.

Des commentaires ?


Si vous avez des questions, des idées et des suggestions, n’hésitez pas à ajouter vos commentaires. Nous sommes très heureux de recevoir vos retours et nous faisons de notre mieux pour vous fournir ce dont vous avez besoin.

Vous avez trouvé cela utile ? Partagez cet article :