{"id":1159,"date":"2023-11-07T14:22:51","date_gmt":"2023-11-07T08:52:51","guid":{"rendered":"https:\/\/www.techandtrain.com\/blog\/?p=1159"},"modified":"2025-10-22T14:52:14","modified_gmt":"2025-10-22T09:22:14","slug":"performance-tuning-in-liferay-part-3","status":"publish","type":"post","link":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/performance-tuning-in-liferay-part-3\/","title":{"rendered":"Performance Tuning in Liferay &#8211; Part 3"},"content":{"rendered":"\n<p id=\"ember847\">You will find the part 1 &amp; 2 of this series on Performance Tuning in Liferay here: <\/p>\n\n\n\n<p id=\"ember847\"><a href=\"https:\/\/www.linkedin.com\/pulse\/performance-tuning-liferay-part-1-neil-harwani\/\">Performance tuning in Liferay &#8211; Part 1 | LinkedIn<\/a><\/p>\n\n\n\n<p id=\"ember848\"><a href=\"https:\/\/www.linkedin.com\/pulse\/performance-tuning-liferay-part-2-neil-harwani\">Performance tuning in Liferay &#8211; Part 2 | LinkedIn<\/a><\/p>\n\n\n\n<p id=\"ember849\">Further to above, find below some tips on Performance Tuning as part 3 of the series.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore Java 11 instead of Java 8 with Liferay. Java 11 has performance and concurrency improvements. Check your compatibility matrix for compatibility.<\/li>\n\n\n\n<li>Explore various types of Garbage collection options &#8211; In my experience for certain scenarios G1 is especially helpful: <a href=\"https:\/\/www.javatpoint.com\/types-of-garbage-collector-in-java\">Types of Garbage Collector in Java &#8211; Javatpoint<\/a><\/li>\n\n\n\n<li>Explore fragment caching button and option if you are using fragments<\/li>\n\n\n\n<li>Fine tune your Heap Size, analyse your heap dump, queries in Glowroot, MBeans in Glowroot to change EHCache values in Liferay &#8211; Make this an ongoing exercise<\/li>\n\n\n\n<li>Explore fast load css, fast load javascript, minifier, no pragma and cache.browser.disabled, users.update.last.login configurations<\/li>\n\n\n\n<li>Explore configuration in control panel for documents and media for private and public cache<\/li>\n\n\n\n<li>Upgrade and map to latest quarterly release, generally they have improvements<\/li>\n\n\n\n<li>Explore row lock error, Ora-1795, etc. settings in help center which cause known issues while scaling and workarounds for which are added in Help Center<\/li>\n\n\n\n<li>While doing performance tuning, do a warmup with low users to fill up cache of Liferay before actual testing &#8211; clear all 4 types of cache in CONTROL PANEL -&gt; SERVER ADMINISTRATION when you make web content or other changes for them to reflect properly before load test<\/li>\n\n\n\n<li>Be cognizant of load times on JMeter and browser both &#8211; different configurations affect both differently<\/li>\n<\/ul>\n\n\n\n<p id=\"ember851\">Email me: <a href=\"mailto:Neil@HarwaniSystems.in\">Neil@HarwaniSystems.in<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You will find the part 1 &amp; 2 of this series on Performance Tuning in Liferay here: Performance tuning in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1126,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[192],"tags":[200,307],"class_list":["post-1159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-liferay","tag-liferay","tag-performance-tuning"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1280%2C876&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7do02-iH","jetpack-related-posts":[{"id":1370,"url":"https:\/\/www.techandtrain.com\/blog\/2024\/11\/performance-tuning-in-liferay-part-4\/","url_meta":{"origin":1159,"position":0},"title":"Performance Tuning in Liferay &#8211; Part 4","author":"Neil Harwani","date":"November 11, 2024","format":false,"excerpt":"In addition to 3-part series on performance tuning given here below are additional points to explore for performance tuning in Liferay. Java 17\/21 Network and subnet between Application server, Web server, Elastic search, Database Difference between JMeter and JVM\/Glowroot load times for pages Lighthouse reports Elastic search response times and\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1121,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/08\/glowroot-resources-part-1\/","url_meta":{"origin":1159,"position":1},"title":"Glowroot resources &#8211; Part 1","author":"Neil Harwani","date":"August 26, 2023","format":false,"excerpt":"Here are some good Glowroot resources - Part 1. Glowroot is a lightweight, Open source Java APM. Resources \/ links \/ blogs here provide details on how to install Glowroot, what are its two deployment types, how to instrument Liferay with it, how to monitor Liferay during upgrade with Glowroot\u2026","rel":"","context":"In &quot;APM&quot;","block_context":{"text":"APM","link":"https:\/\/www.techandtrain.com\/blog\/category\/apm\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1125,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-1\/","url_meta":{"origin":1159,"position":2},"title":"Performance tuning in Liferay &#8211; Part 1","author":"Neil Harwani","date":"September 1, 2023","format":false,"excerpt":"Expanding on my post here on performance tuning:\u00a0Post | Feed | LinkedIn Below are the main points to work on for a performance tuning engagement in Liferay - Part 1. Firstly, we need to find out what is slow: Database, service calls, elastic search, memory is an issue, threads are\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1130,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-2\/","url_meta":{"origin":1159,"position":3},"title":"Performance tuning in Liferay &#8211; Part 2","author":"Neil Harwani","date":"September 25, 2023","format":false,"excerpt":"Following up on the\u00a0Performance tuning in Liferay - Part 1 post\u00a0- here are some additional points for performance tuning: The blue circle in Glowroot slow traces indicates that the transaction is still ongoing whereas yellow indicates it's completed. Red indicates there is an error. You can change the JVM gauges\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credits: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/Ferrari.jpg?fit=1200%2C821&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1296,"url":"https:\/\/www.techandtrain.com\/blog\/2024\/08\/how-to-tame-the-seo-beast-with-liferay-part-1\/","url_meta":{"origin":1159,"position":4},"title":"How to tame the SEO beast with Liferay? Part 1.","author":"Neil Harwani","date":"August 28, 2024","format":false,"excerpt":"Here are some keywords and concepts to explore: 1. Performance tuning - https:\/\/www.linkedin.com\/pulse\/performance-tuning-liferay-part-3-neil-harwani-nsoof\/ 2. Performance options for pages & search in built in Liferay - -> https:\/\/learn.liferay.com\/w\/dxp\/using-search\/search-pages-and-widgets\/search-insights --> https:\/\/learn.liferay.com\/w\/dxp\/content-authoring-and-management\/page-performance-and-accessibility\/analyze-seo-and-accessibility-on-pages --> https:\/\/learn.liferay.com\/w\/dxp\/content-authoring-and-management\/page-performance-and-accessibility\/about-the-page-audit-tool 3. SEO features in Liferay --> https:\/\/learn.liferay.com\/w\/dxp\/site-building\/optimizing-sites --> https:\/\/learn.liferay.com\/w\/dxp\/site-building\/displaying-content\/using-display-page-templates\/configuring-seo-and-open-graph 4. Set up your own monitoring (simple JMeter is a\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/08\/Ocean.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/08\/Ocean.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/08\/Ocean.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/08\/Ocean.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/08\/Ocean.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1132,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/what-you-should-not-be-doing-in-liferay-part-1\/","url_meta":{"origin":1159,"position":5},"title":"What you should not be doing in Liferay &#8211; Part 1","author":"Neil Harwani","date":"September 30, 2023","format":false,"excerpt":"Here is a list of what you should not be doing in Liferay - Part 1 and also what you should be doing written right next to it in place of the wrong things: Write JDBC calls in portlets. Avoid JDBC calls in portlets. Please explore expando, service builder, dynamic\u2026","rel":"","context":"In &quot;Liferay&quot;","block_context":{"text":"Liferay","link":"https:\/\/www.techandtrain.com\/blog\/category\/liferay\/"},"img":{"alt_text":"Credit: www.Pixabay.com","src":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/caution-943376_1280.png?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/caution-943376_1280.png?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/caution-943376_1280.png?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/caution-943376_1280.png?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/09\/caution-943376_1280.png?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/comments?post=1159"}],"version-history":[{"count":2,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1159\/revisions"}],"predecessor-version":[{"id":1161,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1159\/revisions\/1161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media\/1126"}],"wp:attachment":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media?parent=1159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/categories?post=1159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/tags?post=1159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}