2016-07-25 28 views
0

Guten Morgen, Ich gebe zu, ziemlich neu in der Welt der Programmierung, aber ich kann die Lösung für dieses Problem nicht finden, die ich vorne und niemand finden kann Hilf mir, also habe ich versucht, hier zu fragen.Identifizieren Sie die Ursache der Langsamkeit einer Java EE-Webanwendung

Ich habe eine Charge von Daten laden, mit Hibernate und native Abfragen mit einer SQL Server-Datenbank entwickelt. Auf der Produktionsmaschine ist sehr langsam, aber die Maschine ist viel leistungsfähiger als die, die ich als ein lokales Labor verwenden.

Die Dabatase hat bereits Indizes, viele Abfragen sind aus Geschwindigkeitsgründen native, die Menge an RAM ist riesig, so dass ich nicht die Ursache des Problems isolieren kann, oder ich weiß nicht, wie man eine Java-Anwendung "analysiert" um herauszufinden, wo das Problem liegen könnte.

Wenn Sie 10 Minuten Zeit haben, können Sie mir helfen, einen Weg zu finden/erklären, wie man die kritischen Punkte einer Java-Anwendung analysiert? Danke

+0

Ihre Frage ist viel zu weit gefasst. Es gibt viele mögliche Erklärungen; und das passt einfach nicht in eine einzige, vernünftige Antwort. Ernsthaft: Du bist ein "Neuling" ... Ich bezweifle, dass dies aus der Ferne gemacht werden kann. Gibt es nicht Leute in Ihrem Team, mit denen Sie direkt sprechen können? Sicherlich ist eine Java-EE-Anwendung nicht über Nacht entstanden; also muss es Leute geben, die schon eine Weile mit ihm arbeiten ... wenn überhaupt ... könntest du bei quora.com fragen - wahrscheinlich bessere Chancen, eine "Diskussion" dorthin zu bringen. – GhostCat

+0

Überprüfen Sie Fetch-Typen (https://howtoprogramwithjava.com/hibernate-eager-vs-lazy-fetch-type/) und Modi (http://www.solidsyntax.be/2013/10/17/fetching-collections-hibernate /). Es kann sein, dass Ihre Abfragen nicht optimiert sind, so dass sie in der lokalen Umgebung recht gut mit nicht so vielen Daten funktionieren, aber im Live-Modus stecken bleiben. – Justas

+0

Ok @GhostCat, ich versuche, einige Details hinzuzufügen – Delayer

Antwort

1

Wenn Sie wirklich Batch-Abfrage verwenden dann möglicherweise die Batch-Größe ist irgendwie groß, halten Sie die Menge reduzieren und laufen, bis Sie eine zulässige Leistung erhalten. Ich hatte einmal ein solches Problem, weil ich keine Batch-Abfragen verwendet habe, aber nachdem ich angefangen habe, Batch-Abfragen zu verwenden, hat alles gut funktioniert.

-1

Es kann viele Gründe geben. Gib uns mehr Daten über deine App. Die Struktur von Entitäten, Abfragen, etwas genauer.

+1

Ja, Sie haben noch nicht genug Reputation zu kommentieren. Aber nein, Antworten aufzuschreiben, um das zu vertuschen, ist keine gute Idee. Weil Antworten Antworten sind. Keine Kommentare. – GhostCat