Navigation
Google AdSense
 
Products » Liferay Portal »

Benchmarks

Google AdSense
Enterprise Performance in the Lab and the Real World

Performance and scalability are essential to the successful deployment of an enterprise portal application. Liferay Portal has performed well in high-traffic, heavy-usage deployments in real world applications worldwide.

Liferay has also exhibited impressive results in lab-based stress tests engineered both by independent testers and our internal development team. In a recent eWeek benchmarking test, for example, a J2EE stack built on CentOS Linux, Apache, and Liferay (labelled "Linux J2EE in comparison charts) was measured as delivering the highest average hits per second, the second highest average throughput per second, and the third highest average document download time among eight different portal solutions.

On the hits per second and download time metrics, Liferay outperformed JBoss Portal by a whopping factor of 23. On the throughput metric, Liferay significantly outperformed all other configurations except .NET, by an average factor of 10.

Liferay Portal has also been certified by Azul Systems on its 384 CPU environment, demonstrating its scalability in a highly-clustered environment.

For our internal benchmarks of Liferay Portal, we used Microsoft's Web Application Stress Tool (WAST). The primary goal of the load tests was to determine the page load time of a 3400+ Sempron running Liferay under varying amounts of load. The Sempron was chosen to represent a budget server, to serve as a lower threshold of expected performance (more robust servers should deliver greater performance).
 
These are the exact specifications of the test components:
 
Server:

AMD Sempron 3400+, 2 GB RAM running Liferay Portal Professional 4.0.0 (Bundled with Tomcat for JDK 5.0) with the following modifications:
 
  1. The maximum number of allowable threads was set to 20,000.
  2. The maximum size of the JVM heap was set to 1280.
Client Machines:

(6) AMD 3400+ Sempron(s) with 2 GB RAM running Microsoft Web Application Stress Tool
 

Understanding the Test

Our tests dealt simply with threads from the client machines making requests to the server. In the absence of a true high volume of concurrent users, or of user emulation that accurately includes think time, threadwise performance can be multiplied (by a conservative or aggressive factor) to extrapolate an estimate of how many users can be handled by the server with the given hardware profile. The threadwise performance of the server is an easily comparable metric across test results.


Metrics

The primary metric WAST generates is Total Time until Last Byte is received (TTLB), commonly understood as page load time. This is an appropriate metric for a web-based application such as a portal, and is the determining factor of a user’s psychological perception of a site's performance.
 
The secondary metric is requests per second. This metric allows one to determine the server’s peak point of operating efficiency. The server should never reach a point where there is a sharp drop in the number of requests per second it can handle.

 
Results

Liferay Portal supports up to 9,000 concurrent page requests with a page load time of 6 seconds on a 3400+ Sempron server. Even at 18,000 concurrent page requests, page load time only increased by 0.552s. A conservative user multiplier of 5 would yield 90,000 concurrent users with a page load time of about 6.6 seconds and little or no degradation in operating efficiency. A more aggressive multiplier of 15 would yield an estimate of 135,000 concurrent users.




Notes on Testing Methodology


Additional client machines were added to create additional load as each previous client's processor usage of a client machine approached 90%. Above this threshold, clients begin to incorrectly simulate load. In the chart above, additional clients were added every 3000 threads, which was the point at which the 90% threshold was met.