2017-03-24 5 views
1

Nous nous efforçons de trouver la cause des transformations XSL qui sont parfois très mauvaises depuis un certain temps. Jusqu'à présent, il n'y a rien que nous puissions faire croire à une cause réelle, car cela peut se produire sous une charge importante, mais aussi lorsque le serveur est pratiquement inactif. L'exemple ci-joint est arrivé quand il y avait 158 ​​demandes en 15 minutes. Donc, pas de charge notable du tout. Nous soupçonnions certains documents XML externes utilisés dans les transformations, mais cela ne semble pas être le problème non plus, puisqu'ils se chargent généralement en quelques millisecondes, parfois peut-être en secondes, mais rien qui expliquerait les 200+ secondes les demandes ont pris.Trouver la cause des mauvaises performances XSLT dans Lucee

Les mêmes transformations fonctionnent assez bien lorsque nous les essayons plus tard pour vérifier s'il y a un problème.

Nous utilisons Fusion Reactor pour surveiller notre serveur mais il n'y a rien d'inhabituel à voir. Dans les cas d'hier, il n'y avait pas de charge CPU élevée ni d'autre chose hors de l'ordinaire.

J'ai attaché une capture d'écran du profileur de Fusion Reactor, où vous pouvez voir les temps pris et il semble toujours être la partie "scanDocument" qui prend 99.x% du temps, si nous interprétons le résultat correctement.

Y at-il un moyen de savoir ce qui provoque le retard ici?

Les versions nous sont actuellement en cours:

Ubuntu: 14.04.5 LTS Java: 1.8.0_45 Lucee: 4.5.4.017 finale

Fusion Reactor profiler

Répondre

2

Eh bien, il est en 99.8%SocketInputStream.sockerRead0 alors je blâmerais une connexion réseau lente.

Le reste du programme est juste en attente d'octets pour arriver sur la connexion réseau lente, de sorte que vous ne voyez pas de haute CPU

+0

Hmm, qui sonnerait comme notre soupçon initial, mais nous ne voyons pas ralentir les demandes sortantes à ce moment-là. Nous utilisons Squid comme un proxy qui enregistre toutes les demandes non-https et les transformations en question n'ont pas de documents https inclus que nous ne verrions pas. Est-ce que cela pourrait aussi être un problème de communication interne dans Lucee ou Java? – korguell

+0

@korguell: Pourquoi n'exécutez-vous pas de test avec des copies locales de tous les fichiers XML et XSLT nécessaires? – kjhughes

+0

@korguell la lenteur est sur le flux entrant Je suppose, peut-être que vous pouvez exécuter wireshark ou un outil de compteur de vitesse UL/DL pour surveiller votre connexion réseau? – RobAu