Je pense que depuis la mise à jour de Magento 2.3.1, j'ai des problèmes avec les chargements de page non mis en cache (pendant le développement).
J'ai fait une trace blackfire.io et il s'avère que 42 secondes sont passées en sommeil ici .
Maintenant, je me demande quel est le but de cela. Je suppose que je cours dans une sorte de condition de course?
Est-ce que quelqu'un a déjà vécu quelque chose comme ça?
EDIT: La pile d'appels semble impliquer commercebug.
Le mécanisme lockLoadData doit diminuer la charge sur le serveur.
Auparavant, lorsque le cache de configuration était nettoyé sur des sites très chargés, tous les clients généraient les mêmes informations, ce qui augmentait considérablement la charge du processeur / io.
Avec LockLoadData, un seul client générera un cache et d'autres l'attendront.
Plus de détails sur son fonctionnement.
La première fonction appelle le rappel "get data" et s'il obtient les données, il suffit de les renvoyer (donc si les données dans le cache, le code fonctionne comme précédemment et n'utilise pas de verrous).
Si les données ne sont pas disponibles et que le verrou est verrouillé, alors dans la boucle, nous essayons de charger les données jusqu'à ce que les données soient récupérées ou que le verrou soit supprimé.
S'il n'y a pas de verrou, nous créons un verrou et générons des données dans l'enregistrer dans le cache et supprimer le verrou et retourner les données
PS: Nous avons envoyé ces modifications comme un patch pour l'un des clients avec une charge jusqu'à 20 kRPM et cela fonctionne au moins 3 mois, sans aucun problème. Alors peut-être le problème dans votre personnalisation / modules (par exemple s'ils ont cassé le mécanisme de cache)
la source