{"id":1370,"date":"2024-11-11T10:09:58","date_gmt":"2024-11-11T04:39:58","guid":{"rendered":"https:\/\/www.techandtrain.com\/blog\/?p=1370"},"modified":"2025-10-22T14:50:34","modified_gmt":"2025-10-22T09:20:34","slug":"performance-tuning-in-liferay-part-4","status":"publish","type":"post","link":"https:\/\/www.techandtrain.com\/blog\/2024\/11\/performance-tuning-in-liferay-part-4\/","title":{"rendered":"Performance Tuning in Liferay &#8211; Part 4"},"content":{"rendered":"\n<p id=\"ember5043\">In addition to 3-part series on performance tuning given <a href=\"https:\/\/www.linkedin.com\/pulse\/performance-tuning-liferay-part-3-neil-harwani-nsoof\/\">here<\/a> below are additional points to explore for performance tuning in Liferay.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Java 17\/21<\/li>\n\n\n\n<li>Network and subnet between Application server, Web server, Elastic search, Database<\/li>\n\n\n\n<li>Difference between JMeter and JVM\/Glowroot load times for pages<\/li>\n\n\n\n<li>Lighthouse reports<\/li>\n\n\n\n<li>Elastic search response times and tuning<\/li>\n\n\n\n<li>Fragment caching<\/li>\n\n\n\n<li>Logging levels for various components<\/li>\n\n\n\n<li>Cache busting \/ documents &amp; media caching parameters<\/li>\n\n\n\n<li>Integrations especially web analytics<\/li>\n\n\n\n<li>DNS\/IP resolution time<\/li>\n\n\n\n<li>Hardware especially hyper threading and such on VM\/Cloud\/Private cloud<\/li>\n\n\n\n<li>TCP &amp; Web.xml \/ ElasticSearch.yml \/ JVM.Options.d<\/li>\n\n\n\n<li>Filestore type<\/li>\n\n\n\n<li>vCPU to thread to physical CPU \/ core mapping<\/li>\n\n\n\n<li>RAM \/ harddisk \/ NFS type for filestore<\/li>\n\n\n\n<li>Traffic shaping in the deployment done or not<\/li>\n\n\n\n<li>Finding out the true capacity of app server by loading the app server from the same subnet<\/li>\n\n\n\n<li>Disabling \/ enabling relevant servlet filters<\/li>\n\n\n\n<li>Replication, backup, syncs, anti-virus, IPS\/Firewall latency analysis<\/li>\n\n\n\n<li>Analysis of vertical vs. horizontal scaling by experimentation \/ performance testing<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Email me: <a href=\"mailto:Neil@HarwaniSytems.in\">Neil@HarwaniSytems.in<\/a><\/li>\n\n\n\n<li>Website: <a href=\"http:\/\/www.harwanisystems.in\/\">www.HarwaniSystems.in<\/a><\/li>\n\n\n\n<li>Blog: <a href=\"http:\/\/www.techandtrain.com\/blog\">www.TechAndTrain.com\/blog<\/a><\/li>\n\n\n\n<li>LinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/neil27\/\">Neil Harwani | LinkedIn<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In addition to 3-part series on performance tuning given here below are additional points to explore for performance tuning in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1371,"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,409],"tags":[200,307],"class_list":["post-1370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-liferay","category-performance-tuning","tag-liferay","tag-performance-tuning"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7do02-m6","jetpack-related-posts":[{"id":1125,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-1\/","url_meta":{"origin":1370,"position":0},"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":1159,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/performance-tuning-in-liferay-part-3\/","url_meta":{"origin":1370,"position":1},"title":"Performance Tuning in Liferay &#8211; Part 3","author":"Neil Harwani","date":"November 7, 2023","format":false,"excerpt":"You will find the part 1 & 2 of this series on Performance Tuning in Liferay here: Performance tuning in Liferay - Part 1 | LinkedIn Performance tuning in Liferay - Part 2 | LinkedIn Further to above, find below some tips on Performance Tuning as part 3 of the\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":1175,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/liferay-best-practices-part-2\/","url_meta":{"origin":1370,"position":2},"title":"Liferay best practices &#8211; Part 2","author":"Neil Harwani","date":"November 24, 2023","format":false,"excerpt":"Following up with Part 1 of the series here:\u00a0Liferay best practices - Part 1 | LinkedIn -\u00a0Here is part 2 of Liferay best practices: Look out for settings of ORA-1795 error and it's required settings from Liferay Help Center articles if you are using Oracle If you have heavy usage\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\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Best-Practice.jpg?fit=1200%2C900&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":1370,"position":3},"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":1130,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-2\/","url_meta":{"origin":1370,"position":4},"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":1084,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/07\/liferay-clustering-part-1\/","url_meta":{"origin":1370,"position":5},"title":"Liferay clustering &#8211; Part 1","author":"Neil Harwani","date":"July 2, 2023","format":false,"excerpt":"Notes on Liferay clustering: Clustering for High Availability - Liferay Learn\u00a0- Main page for clustering Here is what\u2019s required to create an effectively functional DXP cluster: 1. Liferay DXP\u00a0installed\u00a0on separate application server nodes. 2. A\u00a0database or database cluster\u00a0that\u2019s accessible to all nodes 3. A\u00a0File Store\u00a0that\u2019s accessible to all nodes 4.\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\/07\/laptop-1478822_1280.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\/2023\/07\/laptop-1478822_1280.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/07\/laptop-1478822_1280.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/07\/laptop-1478822_1280.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/07\/laptop-1478822_1280.jpg?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\/1370","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=1370"}],"version-history":[{"count":3,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1370\/revisions"}],"predecessor-version":[{"id":1375,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1370\/revisions\/1375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media\/1371"}],"wp:attachment":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media?parent=1370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/categories?post=1370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/tags?post=1370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}