Performance issue with 300 000 loaded users. (JFR attached)

My team is preparing Proof of concept, We selected Nuxeo as a platform, and we are facing performance issue.

How to reproduce:

1. Nuxeo ECM loaded with 100 pdf documents (200KB each).
2. 10 user groups(local) created with read permissions to documents.
3. 300 000 users(local) created and attached to created groups

4. Sign-in as "Administrator" is working as normal.
5. Sign-in using any other created user takes between 12-40 minutes. (using java-client or nuxeo ui)

6. After 40 minutes we are able to log-in without lag.

This lag issue occurs each time we create document and assign group with 300 000 users (already existing) to new document.

Action taken: Enable/Disable ACL optimization in nuxeo configuration had no noticeable impact on performance.

How can we improve performance? Is it possible to reduce lag?

0 votes

0 answers



Diagnosing the cause of any slowness must be done through tools like jstack (or Thread.print) or Java Flight Recorder. Without more info we cannot help.

Thanks for fast answer. Can you be more specific about "more info"? How can we deliver dumps from DEV environment?

More info means identify the thread dumps about working threads that spend a long time working.

Thanks again for fast answer, I have attached JFR file, at this moment we see that Nuxeo is using mostly 100% of CPU. One user is signing to nuxeo after attach group to document.

VisualVM snapshot attached.

Thread dumps would have been welcome. Where are users stored (SQL or LDAP directory)? Are the directories tuned? Is it the time to load the directory caches (are these caches tuned?) under load? … => There exists a lot of possibility => Several Thread Dumps while issue occurs seems the way to go further.