Jump to content

Crash temporaire à la régénération des caches de traductions


Recommended Posts

Bonjour,

Nous rencontrons un souci au niveau du système de trads de prestashop sur un site à semi-haut trafic: 

PHP Fatal error:  Uncaught Symfony\\Component\\Filesystem\\Exception\\IOException: Cannot rename "/var/www/var/cache/prod/translations/catalogue.fr-FR.L8dqxxF.phprtFzmj" to "/var/www/var/cache/prod/translations/catalogue.fr-FR.L8dqxxF.php".

Le site complet reste en erreur 500 pour une minute ou plus (selon si le downtime fait effet boule de neige ou pas).

Notre piste est que le gros nombre de textes à traduire (les catalogues en cache font 1.8mb) causent de multiples régénérations en parallèle => souci d'écritures simultanées dans le même fichier.  

Ce n'était pas un souci en cours de dev avec 3 personnes, mais 100+ utilisateurs concurrents de base (sachant qu'on est en période calme et qu'on atteint parfois du 1500) causent un emballement complet, y compris au niveau de la DB qui doit renvoyer toute la table des trads à chaque régénération.

Est-ce que quelqu'un a déjà rencontré ce problème et a des stratégies pour mitiger? 

Merci d'avance. 

---------

Semi résolution: 

Si quelqu'un tombe sur ce topic: on a fait un système de conversion des trads de DB => xliff pour une multitude de modules traduits directement et intégralement en DB, sans leurs propres fichiers de trads statiques dans les langues visées.

Ca a permis de bien nettoyer la table et d'alléger le trafic qui passait de ps_translation au site sans saturer le réseau entre serveur sql/serveur web => moins de lenteurs => pas de crash.

On garde les exceptions en écriture, mais seulement sur une quinzaine de secondes.

Edited by Mpix (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...