RE: Performance Issues on Liferay 7.1.1 GA 2

Jonas Schwindt, modified 5 Years ago. New Member Posts: 8 Join Date: 12/17/19 Recent Posts
Hi fellow devs,we are currently migrating a LR6.2 application to 7.1.1 GA2 and we have heavy performance issues.Our application is very complex but we actually have like a 10-fold increase in response times...On Liferay 6 our applications main page was refreshed in under a second... we are now at 8 sec... looking like the first resource gets loaded after a 6 second initial wait.We cannot let our customers live with that, that's too annoying, too slow and nowhere near the response time from our 6.2 solution - unacceptable.
Now is there a way to find out what's causing this? Our application is a spring based WAR . Could HikariCP be the cause? Also our application needs at least 15 minutes to be available for use ... we seriously need some help here.
thumbnail
David H Nebinger, modified 5 Years ago. Liferay Legend Posts: 14933 Join Date: 9/2/06 Recent Posts
There was a bug related to Spring portlet wars where component scanning was causing a lot of class loader thrashing trying to scan all of the modules/jars looking for Spring components.

Check your property value for the following property in the control panel to see what value you have.  If it doesn't have a size like the following, add this to your portal-ext.properties and try it again.

module.framework.properties.osgi.bundlefile.limit=100000
Jonas Schwindt, modified 5 Years ago. New Member Posts: 8 Join Date: 12/17/19 Recent Posts
David H Nebinger:

module.framework.properties.osgi.bundlefile.limit=100000
You Sir, are genius. That is the single most overpowered property i ever set! Thank you so much!
thumbnail
Christoph Rabel, modified 5 Years ago. Liferay Legend Posts: 1555 Join Date: 9/24/09 Recent Posts
You could also try to do threaddumps.
In that 8 seconds, do several threaddumps. It could show you, where your application (or Liferay) is stuck.
It is a bit annoying and doesn't always work, but it helped me alot.
If you have high CPU, it also helps to monitor the java threads and match them to the thread dump. (I ususally do that using top -H -p <pid>). The threadid can be found in the dump hex encoded.
Jonas Schwindt, modified 5 Years ago. New Member Posts: 8 Join Date: 12/17/19 Recent Posts
Thanks for the tip - will do that next.
thumbnail
Christoph Rabel, modified 5 Years ago. Liferay Legend Posts: 1555 Join Date: 9/24/09 Recent Posts
Not sure if it has anything to do with your issue at all, but have you seen this blog post?
https://liferay.dev/blogs/-/blogs/speeding-up-re-deployment-of-war-artifacts-in-liferay-7-x
This is just about deployment, but since you mentioned that your application needs 15 minutes to be useable. (Btw. did you try to add an activator and put some logging into them?) What happens when you stop the server, delete the osgi/state folder and start it again. Does it also take 15 minutes? Or only on redeploys?
Blue Herring, modified 5 Years ago. New Member Post: 1 Join Date: 3/11/20 Recent Posts
Christoph Rabel:

Not sure if it has anything to do with your issue at all, but have you seen this blog post?
https://liferay.dev/blogs/-/blogs/speeding-up-re-deployment-of-war-artifacts-in-liferay-7-x/I
This is just about deployment, but since you mentioned that your application needs 15 minutes to be useable. (Btw. did you try to add an activator and put some logging into them?) What happens when you stop the server, delete the osgi/state folder and start it again. Does it also take 15 minutes? Or only on redeploys?

Thanks for sharing such an amazing Blog.