2017-03-24 1 views
1

Wir haben Mühe, die Ursache für XSL-Transformationen zu finden, die sich seit einiger Zeit sehr schlecht entwickeln.Die Ursache für eine schlechte XSLT-Leistung in Lucee finden

Bis jetzt können wir nichts als eine echte Ursache ausmachen, da es unter hoher Last auftreten kann, aber auch wenn der Server im Grunde untätig ist. Das beigefügte Beispiel geschah, als 158 Anfragen in 15 Minuten gestellt wurden. Also, keine erwähnenswerte Last überhaupt. Wir haben einige externe XML-Dokumente vermutet, die innerhalb der Transformationen verwendet werden, aber das scheint auch nicht das Problem zu sein, da sie normalerweise innerhalb von Millisekunden, manchmal vielleicht Sekunden laden, aber nichts, was die 200+ Sekunden erklären würde die Anfragen nahmen.

Die gleichen Transformationen laufen recht gut, wenn wir sie später testen, um festzustellen, ob ein Problem vorliegt.

Wir betreiben Fusion Reactor, um unseren Server zu überwachen, aber es gibt auch nichts Ungewöhnliches zu sehen. In den gestrigen Fällen gab es weder eine hohe CPU-Last noch sonst etwas Außergewöhnliches.

Ich habe einen Screenshot von Fusion Reactor's Profiler angehängt, wo Sie die Zeiten sehen können und es scheint immer der "scanDocument" Teil zu sein, der 99.x% der Zeit aufnimmt, wenn wir das Ergebnis richtig interpretieren.

Gibt es eine Möglichkeit herauszufinden, was die Verzögerung verursacht?

Die Versionen, die wir derzeit ausgeführt werden, sind:

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

Fusion Reactor profiler

Antwort

2

Nun gibt es 99.8% in SocketInputStream.sockerRead0 also würde ich eine langsame Netzwerkverbindung beschuldigen.

Der Rest des Programms wartet gerade Bytes über die langsame Verbindung zu gelangen, so dass Sie eine hohe CPU-

+0

Hmm nicht sehen, klingt das wäre wie unsere Anfangsverdacht, aber wir können noch nichts sehen langsame ausgehende Anfragen um diese Zeit. Wir führen Squid als Proxy, der alle Nicht-HTTPS-Anfragen protokolliert, und die fraglichen Transformationen enthalten keine https-Dokumente, die wir nicht sehen würden. Könnte das auch ein internes Kommunikationsproblem in Lucee oder Java sein? – korguell

+0

@korguell: Warum führen Sie kein Experiment mit lokalen Kopien aller benötigten XML- und XSLT-Dateien durch? – kjhughes

+0

@korguell die Langsamkeit ist auf dem eingehenden Strom Ich vermute, vielleicht können Sie wireshark oder ein UL/DL-Geschwindigkeitsmessgerät Werkzeuge zur Überwachung Ihrer Netzwerkverbindung? – RobAu

Verwandte Themen