{"id":838,"date":"2022-02-26T16:34:29","date_gmt":"2022-02-26T11:04:29","guid":{"rendered":"https:\/\/www.techandtrain.com\/blog\/?p=838"},"modified":"2025-10-22T14:54:26","modified_gmt":"2025-10-22T09:24:26","slug":"why-liferay-what-about-my-performance-part-1","status":"publish","type":"post","link":"https:\/\/www.techandtrain.com\/blog\/2022\/02\/why-liferay-what-about-my-performance-part-1\/","title":{"rendered":"Why Liferay &#038; what about my performance? &#8211; Part 1"},"content":{"rendered":"\n<p>An unbiased view on why you should adopt a platform like Liferay and what are the benefits in using Liferay:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Having implementations in various domains like insurance, manufacturing, financial services, healthcare, education, government, intranets, commerce, energy, customer \/ partner portals and more<\/li><li>Open standards based system built with and around Java &amp; specifications from Java community<\/li><li>Tooling options built on top of Eclipse, Gradle and Blade<\/li><li>Gogo Shell &amp; DevStudio<\/li><li>Has been contributing to ecosystem by community as well as enterprise versions regularly plus has cloud options with analytics &amp; commerce<\/li><li>Modular architecture built using OSGi<\/li><li>Growing marketplace<\/li><li>Maturity of 10+ years in terms of having features in fine grained property file entries, IAM\/SSO\/AD\/LDAP, programming &amp; configuration options and similar inbuilt integrations, workflows, content management, system administration and more<\/li><li>Commerce, Analytics, Cloud option &amp; Content \/ horizontal portal in the same ecosystem<\/li><li>Evolving features around Cloud, Personalization, CI\/CD, Analytics, ML&amp;AI with the trends<\/li><li>Large part of documentation is open for public reference<\/li><li>Growing community &amp; partner ecosystem<\/li><li>Strong features around content, search, collaboration, chat bots, headless and more<\/li><li>Many security, clustering, optimization, workflow, content, configuration features are pre-built with past experiences and evolution for over a decade<\/li><li>Programmers &amp; technical people love the open standards based understanding of the product ecosystem<\/li><\/ul>\n\n\n\n<p><strong>How to overcome some of the challenges around implementing Liferay:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Read the official documentation, blogs, forums in entirety and refer non Liferay forums across the web, don&#8217;t read piecemeal &#8211; that does not help<\/li><li>If you struggle with SEO \/ page load performance problems look at various reports from across the web like GTMetrix, Pingdom and more rather than rely on a single tool and single geo based server. Think of functional, technical and other changes across configurations rather than only one area. Good part is as there is transparency with open standards and open forums, it&#8217;s easier to decipher what changes need to be made<\/li><li>To avoid upgrade problems, follow the official path for customization &amp; configuration in conjunction with Liferay team rather than customize outside the official process. Also, use out of the box features as much as possible<\/li><\/ul>\n\n\n\n<p><a href=\"https:\/\/www.liferay.com\/resources\/case-studies\">Liferay case studies<\/a><\/p>\n\n\n\n<p>Email me: Neil@HarwaniSystems.in<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An unbiased view on why you should adopt a platform like Liferay and what are the benefits in using Liferay: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":827,"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],"class_list":["post-838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-liferay","tag-liferay"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/02\/Liferay.png?fit=594%2C209&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7do02-dw","jetpack-related-posts":[{"id":1159,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/performance-tuning-in-liferay-part-3\/","url_meta":{"origin":838,"position":0},"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":1130,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/09\/performance-tuning-in-liferay-part-2\/","url_meta":{"origin":838,"position":1},"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":1121,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/08\/glowroot-resources-part-1\/","url_meta":{"origin":838,"position":2},"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":1001,"url":"https:\/\/www.techandtrain.com\/blog\/2022\/12\/liferay-upgrade-learnings-part-1\/","url_meta":{"origin":838,"position":3},"title":"Liferay upgrade learnings &#8211; Part 1","author":"Neil Harwani","date":"December 23, 2022","format":false,"excerpt":"Some learnings below from various Liferay upgrades that I have been part of: Upgrades need us to plan various dry runs in advance on non-production environment Divide your upgrade between core \/ database and non-core upgrade Core includes Liferay engine, configurations and database Non-core includes themes, custom code, integrations and\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\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/12\/Vortex.png?fit=1200%2C1121&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1169,"url":"https:\/\/www.techandtrain.com\/blog\/2023\/11\/common-programming-mistakes-in-liferay-gpt-generated\/","url_meta":{"origin":838,"position":4},"title":"Common programming mistakes in Liferay &#8211; GPT generated","author":"Neil Harwani","date":"November 20, 2023","format":false,"excerpt":"Generated using my GPT:\u00a0https:\/\/chat.openai.com\/g\/g-uOPo2Wffl-liferay-helper-works-on-open-internet Common programming mistakes in Liferay often stem from overlooking best practices in both Liferay-specific and general Java development. Some of these mistakes include: 1.\u00a0Ignoring Liferay's MVC Framework: Developers sometimes bypass Liferay's built-in MVC framework for portlets, which can lead to more complex code and maintenance issues.\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\/Mistake.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\/11\/Mistake.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Mistake.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Mistake.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2023\/11\/Mistake.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":965,"url":"https:\/\/www.techandtrain.com\/blog\/2022\/10\/liferay-best-practices-part-1\/","url_meta":{"origin":838,"position":5},"title":"Liferay best practices &#8211; Part 1","author":"Neil Harwani","date":"October 11, 2022","format":false,"excerpt":"Developers and managers both struggle at times to pre-plan usage of best practices in projects causing many problems which are best avoided. Providing below some learnings & best practices on using and working with Liferay \u2013 Part 1. Don\u2019t work directly on the Liferay database. Use the groovy script console\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\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.techandtrain.com\/blog\/wp-content\/uploads\/2022\/10\/Web-Design.jpg?fit=1200%2C720&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/838","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=838"}],"version-history":[{"count":1,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/838\/revisions"}],"predecessor-version":[{"id":839,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/posts\/838\/revisions\/839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media\/827"}],"wp:attachment":[{"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/media?parent=838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/categories?post=838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techandtrain.com\/blog\/wp-json\/wp\/v2\/tags?post=838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}