Liferay Portal Performance Best Practices

Liferay Portal Performance Best Practices
eBook: $16.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 41%!
Print + free eBook + free PacktLib access to the book: $51.98    Print cover: $34.99
save 33%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Learn best practices for architecting high performing Liferay- based solutions
  • Practices for configuring a load balancer and cluster of Liferay portal
  • Find out how to perform load testing and performance tuning activity for Liferay- based solutions

Book Details

Language : English
Paperback : 150 pages [ 235mm x 191mm ]
Release Date : June 2013
ISBN : 1782163689
ISBN 13 : 9781782163688
Author(s) : Samir Bhatt
Topics and Technologies : All Books, CMS and eCommerce, Open Source

Table of Contents

Chapter 1: Architectural Best Practices
Chapter 2: Load Balancing and Clustering Best Practices
Chapter 3: Configuration Best Practices
Chapter 4: Caching Best Practices
Chapter 5: Development Best Practices
Chapter 6: Load Testing and Performance Tuning
  • Chapter 1: Architectural Best Practices
    • The Liferay Portal reference architecture
      • The Presentation tier
      • The Networking tier
      • The Web tier
      • The Application tier
      • The Database Repository tier
      • The Search Repository tier
      • The Media Repository tier
      • The Active Directory tier
      • Reference architecture characteristics
        • Scalability
        • Performance
        • High availability and fault tolerance
        • Security
    • The Deployment sizing approach
      • The reference hardware
      • The performance benchmark test summary
      • An example of sizing calculations
        • Sample performance requirements
        • Sizing calculations
    • The Documents and Media Library architecture
      • File System and Advanced File System stores
      • The Database store
      • The JCR store
      • The CMIS store
      • The S3 store
    • The database architecture
      • The read/write database
      • Database sharding
    • Static content delivery
      • Content Delivery Network
      • Content delivery through the web server
    • The caching architecture
      • Caching using Ehcache
        • Ehcache replication using RMI
        • Ehcache replication using Cluster Link
      • Caching using Terracotta
      • Web resource caching using Varnish
    • The search architecture
      • Apache Lucene
        • Index storage on SAN
        • Lucene Index replication using Cluster Link
      • Apache Solr
    • Summary
    • Chapter 2: Load Balancing and Clustering Best Practices
      • The basics of load balancing and clustering with Liferay
      • Setting up Liferay Portal nodes
      • Software load balancer configuration using the Apache Web Server
        • Load balancer configuration using mod_jk
        • Load balancer configuration using mod_proxy_ajp
        • Load balancer configuration using mod_proxy_http
        • Load balancing best practices
      • Liferay Portal cluster configuration
        • Session replication configuration
        • Cache replication
          • Ehcache replication using RMI
          • Ehcache configuration using JGroups
          • Ehcache replication using Cluster Links
          • Ehcache clustering best practices
        • Media Library configuration
          • Network file storage using the Advanced File System store
          • Database storage using the JCR store
          • Database storage using DBStore
          • Media Library clustering best practices
        • Search engine configuration
          • Lucene index storage on network storage
          • Lucene index replication using Cluster Link
          • Using the Apache Solr search engine
          • Clustering best practices for the search engine
        • Quartz scheduler configuration
      • Summary
      • Chapter 3: Configuration Best Practices
        • Liferay Portal configuration best practices
          • Servlet filter configuration
            • The auto login filter
            • The CAS filter
            • The NTLM SSO filter
            • The OpenSSO filter
            • The SharePoint filter
            • The GZip filter
            • The Strip filter
            • The ValidHtml filter
          • Auto login hooks
          • Counter increment
          • User session tracker
          • Direct Servlet Context
          • Plugin repositories
          • Pingbacks and trackbacks
          • Google's blog search ping integration
            • The asset view counter
            • Document ranks and view count
            • Scheduler configuration
            • Inline permission checks
            • Lucene Configuration
        • Application Server configuration best practices
          • Database connection pool configuration
          • JVM configuration
            • Garbage Collection
            • The Java Heap configuration
          • JSP engine configuration
          • Thread pool configuration
        • Apache Web Server configuration best practices
          • Static content delivery
          • GZip compression configuration
          • Cache header configuration
          • Apache Web Server MPM configuration
        • Summary
        • Chapter 4: Caching Best Practices
          • Customizing the Ehcache configuration
            • Hibernate Ehcache CacheManager
            • Single-VM CacheManager
            • Multi-VM CacheManager
          • Ehcache configuration best practices
          • Caching using Terracotta
          • Summary
          • Chapter 5: Development Best Practices
            • UI best practices
              • Reducing the number of JavaScript files
              • Reducing the number of CSS files
              • Using CSS image sprites
              • Minifying JavaScript files
              • JavaScript positioning
              • Limiting the use of DOM operations
              • Analyzing web page performance using tools
            • Portlet development best practices
              • Limiting the use of dynamic queries
              • Liferay caching API
              • Coding best practices
            • Summary
            • Chapter 6: Load Testing and Performance Tuning
              • Getting ready for load testing
                • Capturing load testing requirements
                • Selecting load testing tools
                  • Apache JMeter
                  • BlazeMeter
                  • Apache Benchmark (ab)
                • Preparing load testing scripts
                • Setting up the load testing environment
                • Conducting load tests
              • Resource monitoring and performance tuning
                • Liferay Portal server – monitoring and tuning
                  • JConsole
                  • VisualVM
                  • JVM – monitoring and tuning
                  • Tomcat thread – monitoring and tuning
                  • Database connection pool – monitoring and tuning
                  • Cache – monitoring and tuning
                • Apache web server – monitoring and tuning
                • Monitoring the database server
                  • CPU and memory usage
                  • Slow queries
                  • Connections
                  • Lock monitoring
                • Monitoring logfiles
              • Summary

              Samir Bhatt

              Samir Bhatt is an Enterprise Architect with over 12 years of IT experience. He has been working on Liferay-Portal-based solutions for the last four years. He has co-authored a book, Liferay Beginner's Guide by Packt Publishing. He is also a Liferay certified trainer and has delivered public and private training across the world. Samir leads an architectural group at CIGNEX Datamatics. He extensively worked on performance tuning of Liferay-Portal-based solutions. Apart from Liferay Portal, Samir has also worked on many other technologies and frameworks including Hadoop, MongoDB, Pentaho BI, Oracle, Java Swing, ICEfaces, ZK, Spring, Hibernate, and Visual Basic.

              Samir is also a very good speaker and has delivered various webinars on Liferay, Pentaho BI, and MongoDB. He blogs at

              Submit Errata

              Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


              - 3 submitted: last submission 19 Aug 2013

              Errata type: Typo Page No: 17 and 29

              The word "Media" is wrongly spelled as "Medial"

              Errata type: Code Page No: 19

              Bullet no. 3 should be Write instead of Read:

              jdbc.write.driverClassName=<Write Database Driver Class Name>
              jdbc.write.url=<Write Database JDBC URL>
              jdbc.write.username=<Write Database User Name>
              jdbc.write.password=<Write Database Password>

              Errata type: Typo Page No: 20

              Round Robin is wrongly spelled as "Round Ribbon"

              Errata Type: Graphics Page No: 8

              The diagram has the word "Network" spelled wrong. The corrected diagram is as follows:

              Errata type: Typo Page No: 50

              Bullet no. 5 Uncomment the following lines of code within the <versioning>  tag:

              should be:

              Bullet no. 5 Comment the following lines of code within the <versioning>  tag:

              Sample chapters

              You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

              Frequently bought together

              Liferay Portal Performance Best Practices +    Quickstart Apache Axis2 =
              50% Off
              the second eBook
              Price for both: $24.10

              Buy both these recommended eBooks together and get 50% off the cheapest eBook.

              What you will learn from this book

              • Make right architectural decisions to meet performance requirement
              • Implement software load balancer using Apache Web Server
              • Configure Liferay portal cCluster
              • Configure Cache Replication using different options
              • Improve performance by apache web server configurations
              • Tomcat server configuration best practices to improve performance
              • Tune Liferay portal using various configurations settings
              • EHCache based cache configurations
              • Terracotta based cache implementation
              • Learn portal development best practices
              • Perform lLoad testing and performance tuning exercise for Liferay- based solutions

              In Detail

              Liferay portal is the leading horizontal portal product available in the market. It was named lLeader in Gartner's Magic Quadrant for Horizontal Portals. Because of the flexibility offered by Liferay Portal for customizations, it is becoming a preferred best choice for portal implementations. Many influential sites have been implemented with or have switched to the Liferay portal. More and more Liferay developers and architects are needed in the IT industry.

              Liferay Portal Performance Best Practices will guide you in how to build high performing Liferay -based solutions. The book guides you on how to define the architecture of Liferay- based solutions to meet performance expectations. You will learn how to fine- tune the Liferay portal using configuration changes or applying the right caching strategy. By the time you finish reading, you will realize that you know all the essential best practices to improve the performance of the Liferay portal solution.

              The book comprises of Liferay portal performance best practices related to various aspects. It starts with the architecture and design best practices and ends with performance tuning and lLoad testing best practices.

              The book follows the logical flow. In the first chapter it talks about various architectural options and best practices. It also talks about the consequences of various architectural options. It talks about how to configure the Liferay portal to work in a clustered environment. It discusses the various options available in a cluster configuration. The book further talks about various configuration options of different components that are available for improving performance. The book also talks about various development best practices. It concludes with best practices related to load testing and a performance tuning exercise.

              Liferay Portal Performance Best Practices explains performance best practices with real examples and samples. By the end of this book, the reader will have learned everything he/she needs to know about Liferay portal performance best practices.


              A step-by-step tutorial on implementing Liferay- based portals to learn performance best practices

              Who this book is for

              The book is good for Liferay portal developers and architects who want to learn performance best practices for implementing Liferay- based solutions. It is assumed that you have a working knowledge of the Liferay portal.

              Code Download and Errata
              Packt Anytime, Anywhere
              Register Books
              Print Upgrades
              eBook Downloads
              Video Support
              Contact Us
              Awards Voting Nominations Previous Winners
              Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
              Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software