You are previewing Liferay Portal Performance Best Practices.
O'Reilly logo
Liferay Portal Performance Best Practices

Book Description

To maximize the performance of your Liferay Portals you need to acquire best practices. By the end of this tutorial you’ll understand making the most appropriate architectural decisions, fine-tuning, load testing, and much more

  • 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

  • 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.

    Table of Contents

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