[ 
https://issues.apache.org/jira/browse/TOMEE-4571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18052361#comment-18052361
 ] 

Jonathan Gallimore commented on TOMEE-4571:
-------------------------------------------

> Are there some template "playground" projects I could use as reference for 
> creating a simple testcase ?

I'm kinda hoping you might have something basic. I can probably debug something 
relatively easily with a reproducer, but it'll likely take me a fairly long 
time to actually make a reproducer as I don't write JSF code everyday, and 
unfortunately I have a fair bit of experience in trying to make reproducers for 
others that fail to actually faithfully reproduce the issue. 

I'll see if do have anything that is close to your issue, but if you can create 
a basic "hello world" example, that's definitely going to move this on a lot 
faster, even if it doesn't expose as big a difference in timings as you've 
provided here (I assume from your production application).

> TomEE PLUME 10.1.x -  Decrease in performance (Factor 2 or more).
> -----------------------------------------------------------------
>
>                 Key: TOMEE-4571
>                 URL: https://issues.apache.org/jira/browse/TOMEE-4571
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 10.1.2
>         Environment: Primefaces 13.0.8 ; ojdbc11:21 , Oracle 19c database ; 
> gradle 8.7 build system. 
> PLUME edition of TomEE because we need eclipselink due to native queries and 
> DB package calls.
> TomEE 9.1.3 PLUME as-is (Mojarra Faces 3, Eclipselink 3) on OpenJDK17
> TomEE 10.1.2 PLUME as-is (Mojarra Faces 4, Eclipselink 4) on OpenJDK21
> related web.xml parameters overview
> jakarta.faces.PROJECT_STAGE = Production
> jakarta.faces.FACELETS_REFRESH_PERIOD  = -1
> jakarta.faces.STATE_SAVING_METHOD = server
> listener-class = com.sun.faces.config.ConfigureListener
> servlet-class = jakarta.faces.webapp.FacesServlet
> jakarta.faces.FACELETS_VIEW_MAPPINGS = .jsf;.xhtml
> jakarta.faces.PARTIAL_STATE_SAVING = true
> jakarta.faces.FACELETS_BUFFER_SIZE = 1024000 (for fileuploads)
> jakarta.faces.FACELETS_SKIP_COMMENTS = true
> primefaces.CLIENT_SIDE_LOCALISATION = true
> primefaces.SUBMIT = partial
>            Reporter: Martin A.
>            Assignee: Jonathan Gallimore
>            Priority: Major
>
> We recently migrated our PrimeFaces 13 application from TomEE9 to TomEE10 and 
> found a massive decrease in performance (Factor 2 or more).
> *Measurement*  : open dedicated page, then track its 3 XHR requests in 
> browser console
> TomEE10 + JDK21 : 4900 ms - 6800 ms - 2100 ms
> TomEE10 + JDK17 : 9200 ms - 8400 ms - 5700 ms
> TomEE 9 + JDK17 : 2700 ms - 3000 ms - 0800 ms
> TomEE 9 was > 2x faster, JDK might have a small impact, 21 is faster (as 
> expected)
> As suggested by BalusC, i did a comparison with MyFaces 4.03 from TomEE Plus 
> by replacing it in TomEE Plume and ran the same testcases 3x to have reliable 
> results:
> Measured times in ms, using p:lifecycle component (skipped phases < 10 
> ms).The big differences are in RESTORE_VIEW phase = 10x faster and 
> RENDER_RESPONSE phase = 2-3x faster
> h3. TomEE 9 / mojarra 3.0.5 (=our baseline)
> || UseCase || RESTORE_VIEW || INVOKE_APPLICATION || RENDER_RESPONSE  || 
> |"search"|130 | 630 | 850  |
> |"open dialog"|180| 1200 | 400  |
> h3. TomEE 10 / mojarra: 4.0.11
> || UseCase || RESTORE_VIEW || INVOKE_APPLICATION || RENDER_RESPONSE  || 
> |"search"| {color:#de350b}*650* {color} | 650 | 1100  |
> |"open dialog"| {color:#de350b}*750* {color} | 1200 | 400  |
> h3. TomEE 10 / myfaces: 4.0.3
> || UseCase || RESTORE_VIEW || INVOKE_APPLICATION || RENDER_RESPONSE  || 
> |"search"|65| 600 | 650  |
> |"open dialog"|60| 1200 | 150  |
> h3. TomEE 10 / mojarra 3.0.5 (just for debugging purpose)
> || UseCase || RESTORE_VIEW || INVOKE_APPLICATION || RENDER_RESPONSE  || 
> |"search"|*{color:#de350b}700{color}*| 650| 1200|
> |"open dialog"|*{color:#de350b}700{color}* | 1400| 700  |
> This was just a freaky try, knowing this is experimental, unsupported etc; by 
> reverting namespace and related changed only, same tests as before (3x,same 
> pc, same db)
> Summary: 
> * TomEE 10 mojarra 4 is 2x slower than TomEE9 mojarra 3
> * TomEE 10 myFaces 4 is 2-10x faster than Mojarra 4, depending on action. 
> * The idea that eclipselink / DB level is slower which turned out false. 
>  
> I checked all server.xml, tomee.xml changes, as well as the required 
> application changes in dependencies, namespaces, faces-config.xml, 
> beans.xml persistence.xml and found no hint yet what could cause such 
> decrease in performance. I can confirm that mojarra 3 and mojarra 4 are 
> (nearly) equal in performance, 
> in fact "Restore view" phase is slower in 4. 
> On the other hand, this now means: There must be some other things in TomEE 
> 10 that make it slower, e.g. libraries, config changes, undocumented 
> parameters, no-longer-in-use caches ... So further Ideas are highly welcome. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to