Narzędzie do wykrywania problemu N+1 w jpa

0

Czy istnieje jakieś narzędzie do wykrywania problemów wydajnościowych n+1 dla jpa ? Poszukuje jakiegoś interceptora, wrappera dla hibernate który by logował przy jakim zapytaniu występuje problem. Znalazłem tylko XRebel, ale czy ktoś wie o jakiejś bibliotece do tego ?

0

Po prostu trzeba znać swój przypadek użycia i zapytanie pisać pod niego (ładować graf encji który wiemy że będzie potrzebny)

0

Gdyby tak móc wyłapać wszystkie przypadki, kiedy Hibernate wykonuje zapytanie spowodowane przez lazy loading. Chyba nie ma takich narzędzi. Ale zrobić to można prosto. AspectJ i tylko jeden dobry pointcut. Powstaje z tego spatchowany jar hibernate, który wystarczy podłożyć, żeby dostać odpowiedni log.

Potem już tylko odcedzić taki log i przeanalizować poszczególne przypadki. A na testach to nawet sobie można rzucać Exception przy wykryciu lazy loading. Do tego jakaś pula dozwolonych wywołań. To wszystko się da przez AspectJ.

0

@jarekczek: Hmm problem jest taki, że aspekt powinien być w zakresie transakcji.. może dało by się to w sumie zrobić mamy transakcje potem zliczamy wywołania zapytań a na końcu porównać ze statystykami hibernate.

0

Ilość zapytań możesz zliczyć ale po co b będziesz porównywał ze statystykami??

1 użytkowników online, w tym zalogowanych: 0, gości: 1