{"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":"2026-08-16T04:04:33","modified_gmt":"2026-08-15T22:34:33","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\" class=\"wp-block-paragraph\">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 class=\"\">Java 17\/21<\/li>\n\n\n\n<li class=\"\">Network and subnet between Application server, Web server, Elastic search, Database<\/li>\n\n\n\n<li class=\"\">Difference between JMeter and JVM\/Glowroot load times for pages<\/li>\n\n\n\n<li class=\"\">Lighthouse reports<\/li>\n\n\n\n<li class=\"\">Elastic search response times and tuning<\/li>\n\n\n\n<li class=\"\">Fragment caching<\/li>\n\n\n\n<li class=\"\">Logging levels for various components<\/li>\n\n\n\n<li class=\"\">Cache busting \/ documents &amp; media caching parameters<\/li>\n\n\n\n<li class=\"\">Integrations especially web analytics<\/li>\n\n\n\n<li class=\"\">DNS\/IP resolution time<\/li>\n\n\n\n<li class=\"\">Hardware especially hyper threading and such on VM\/Cloud\/Private cloud<\/li>\n\n\n\n<li class=\"\">TCP &amp; Web.xml \/ ElasticSearch.yml \/ JVM.Options.d<\/li>\n\n\n\n<li class=\"\">Filestore type<\/li>\n\n\n\n<li class=\"\">vCPU to thread to physical CPU \/ core mapping<\/li>\n\n\n\n<li class=\"\">RAM \/ harddisk \/ NFS type for filestore<\/li>\n\n\n\n<li class=\"\">Traffic shaping in the deployment done or not<\/li>\n\n\n\n<li class=\"\">Finding out the true capacity of app server by loading the app server from the same subnet<\/li>\n\n\n\n<li class=\"\">Disabling \/ enabling relevant servlet filters<\/li>\n\n\n\n<li class=\"\">Replication, backup, syncs, anti-virus, IPS\/Firewall latency analysis<\/li>\n\n\n\n<li class=\"\">Analysis of vertical vs. horizontal scaling by experimentation \/ performance testing<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Website: <a href=\"http:\/\/www.harwanisystems.in\/\"><strong>www.HarwaniSystems.in<\/strong><\/a><\/li>\n\n\n\n<li class=\"\">Blog: <a href=\"http:\/\/www.techandtrain.com\/blog\"><strong>www.TechAndTrain.com\/blog<\/strong><\/a><\/li>\n\n\n\n<li class=\"\">LinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/neil27\/\"><strong>Neil Harwani | LinkedIn<\/strong><\/a><\/li>\n\n\n\n<li class=\"\">Email: <a href=\"mailto:Neil@HarwaniSystems.in\">Neil@HarwaniSystems.in<\/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 Liferay.<\/p>\n","protected":false},"author":2,"featured_media":1371,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"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_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":1175,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/liferay-best-practices-part-2\/","url_meta":{"origin":1370,"position":1},"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":1159,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/performance-tuning-in-liferay-part-3\/","url_meta":{"origin":1370,"position":2},"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":1132,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/what-you-should-not-be-doing-in-liferay-part-1\/","url_meta":{"origin":1370,"position":3},"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":[]},{"id":1084,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/07\/liferay-clustering-part-1\/","url_meta":{"origin":1370,"position":4},"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":[]},{"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":5},"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":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2024\/11\/Ferrari.jpeg?fit=1052%2C720&ssl=1","_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":4,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1370\/revisions"}],"predecessor-version":[{"id":1672,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/1370\/revisions\/1672"}],"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}]}}