Payara5 - Windows környezet

Payara5 - Windows környezet
2022-07-07T11:46:48+02:00
2022-07-07T15:27:44+02:00
2022-10-15T21:21:34+02:00
DarkHcK
Sziasztok,

A helyzet a következő: van egy Payara5 szerverem amin fut egy alkalmazás (EE app). A problémám, hogy eszméletlenül lassú. Csak a login oldal kiszolgálása 6-10 mp között mozog. Egy postgres db van mögötte, de ez szerintem nem oszt, nem szoroz. 
Ezt a nagy load time -ot csak Windows alatt produkálja. 

Ha fogom az egészet és berakom egy docker környezetbe, akkor a login page kiszolgálási ideje lemegy 0.6 sec -re. 

Ha a db dockerben fut és a payara5 natívban, akkor is nagy a load time.

Van valakinek valami ötlete, hogy mit lehetne állítani? Mit lehetne ezzel kezdeni? 

Stack: Java 17, PrimeFaces 11, JSF2
Mutasd a teljes hozzászólást!

  • Szia,

    én a DB hozzáférés irányában keresném a hibát, vagy bármilyen más külső szolgáltatás gyanús lehet.

    Adatbázis réteg (Eclipselink?) loggolását felhúzni maximumra, logból kideríteni, pontosan mikor futnak a lekérdezések az oldal lekéréséhez képest. Úgy általában loggolhatnád az egyes folyamatok indulását az oldalon belül, úgy közelebb kerülnél az időveszteséget okozó kódrészlethez.

    Wireshark-kal meg lehetne nézni, milyen külső kommunikáció folyik és mikor. Ekkora várakozási időt okozhat pl. névfeloldási probléma is.
    Mutasd a teljes hozzászólást!
  • Másrészt nekem úgy tűnik, csak a Java 11 támogatott, a 17 még nem: Supported Platforms :: Payara Community Documentation

    Megpróbálhatnád 11-es Java-val, ha lehetséges.
    Mutasd a teljes hozzászólást!
  • 1. Nézd meg böngészőből, hogy a milyen időket adnak a response-ok. Mi az, ami hosszú idő, milyen respons-ra vár a kliens.
    2. A deploy-od production modban legyen, ne developer-ben.
    3. Növeld meg a JDK heap memóriáját, teszt alatt legalább 2GB-re, aztán majd ez csökkenthető, ha szükséges.
    4. Jelenleg ha jól látom az 5.2022.2 a legújabb verzió, ezt használd, JDK 11-el.
    5. A Primefaces legutóbbi években sajnos eléggé sok lassulást okozott önmagában is, főleg a beépített ajax-os kérések miatt. Erről kérdeztem őket, sajnos nem a Payara az elsőszámű konténer, amire optimalizálnak, hanem a JBoss / Wildfly.
    6. Ha használsz ORM-et, akkor használd a chache megoldásait is.
    7. Csak ott használj PF-es komponenst, ahol arra feltétlenül szükség van, a többi legyen sima HTML / JS.

    Ha ez egy zöldmezős / tanulási project, akkor:
    - inkább engedd el a Payara-t, legyen inkább Wildfly, JBoss, vagy Weblogic.
    - inkább engedd el a JEE-t, és legyen inkább Spring Boot, Tomcat-en, front-end -nek meg Angular, React, vagy Vue.

    Ez a Glassfish / Payara már nem egy siker történet, tapasztalatból beszélek - sajnos.
    Mutasd a teljes hozzászólást!
  • Megpróbáltam a Java 11 -et. Nem oszt, nem szoroz. Sajnos ugyan olyan a load time: 7,43s - 7,75s - 7,64s.

    - Megnéztem a Login bean (RequestScoped) PostConstruct futási idejét. 4 ms összesen.
    - Chrome -ba nézve a "Waiting for server response" - korábbi nevén TTFB -nél meg el sok idő.
    - ha belerakom docker -be, akkor miért lesz patent az egész?

    Minden esetre megyek tovább az ötleteken és köszönöm, hogy írtatok.
    Ha valamelyik megoldja, azonnal írok :)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd