Professional Documents
Culture Documents
Performance
Benchmark Study of
Liferay Portal 6.2 Enterprise Edition
Liferay Engineering
Table of Contents
Executive Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Test Scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Benchmark Configuration and Methodology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Environment Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Methodology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Benchmark Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Transaction Centric Scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Collaboration Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Content and Document Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Moving Forward. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
www.liferay.com
Liferay Engineering
Executive Summary
Liferay Portal is the leading open source enterprise portal solution named by Gartner as a
leader in the Magic Quadrant (MQ) for Horizontal Portals for its feature completeness and
ROI among the vendors represented in the MQ. Liferay Portal Enterprise Edition (EE) is the
commercially supported edition of Liferay Portal which contains improved performance,
security, and other exclusive capabilities. Liferay Portal EE is available with a Liferay Portal
Enterprise Subscription.
The Liferay engineering team performed intensive tuning and testing to demonstrate the
scalability of Liferay Portal EE in a collection of use cases including infrastructure portal,
collaboration, and content management.
The goals of this study were to:
Determine the maximum number of virtual users supportable by a single physical server
across defined test cases.
Determine if Liferay Portal provides linear scalability (i.e. if we double the number of portal
application servers, we should be able to double the number of supported virtual users).
Provide statistics to help Liferay Global Services, Liferay Portal EE clients, and Liferay Service
Partners in capacity planning.
To help accurately demonstrate enterprise scale, this study was commissioned with:
1,000,000 total users
2,000,000 documents with an average of 100KB per document
10,000 sites with 50% of the sites having at least 5 children
4,000,000 message forum threads and posts
100,000 blog entries and 1,000,000 comments
100,000 wiki pages
Key Findings
The key findings of the study are:
1. As an infrastructure portal, Liferay Portal can support over 27,000 virtual users on a single server
with mean login times under 200ms and maximum throughput of 760+ logins per second.
2. Liferay Portals Document Repository easily supports over 10,000 virtual users while
accessing 2,000,000 documents in the document repository.
3. Liferay Portals WCM scales to beyond 300,000 virtual users on a single Liferay Portal server
with average transaction times under 50ms and 35% CPU utilization.
4. In collaboration and social networking scenarios, each physical server supports over 8000
virtual concurrent users at average transaction times of under 800ms.
5. The introduction of hierarchical site features in Liferay Portal 6.2 has had no impact to
overall performance and scalability of the system.
6. Given sufficient database resources and efficient load balancing, Liferay Portal can scale
linearly as one adds additional servers to a cluster. With a properly configured system, by
doubling the number of Liferay Portal servers, you will double the maximum number of
supported virtual user.
7. Liferay Portal 6.2 EE scales up to 60% more users and performs 30% better than Liferay
Portal 6.1 EE.
www.liferay.com
Liferay Engineering
Test Scenarios
The document utilizes the following conventions when discussing test cases and results:
Virtual Users Simulated users concurrently transacting on the portal system.
Transactions vary depending upon the test cases.
.Total Users Total number of users in the portal database that could be used as part of a test.
Each portal deployment is unique in its requirements and performance characteristics.
Liferay collaborated with clients across a broad spectrum of industries to determine the
scenarios that best modeled product use cases. Based on this feedback, Liferay decided to
classify the test cases into three categories:
Transaction centric scenarios
Apply to financial, insurance, and ecommerce deployments where a large number
of users will login and perform transaction like online banking (bill payments, etc),
online insurance applications, airline and hotel booking, etc.
Frequent authenticated access with longer average user session times.
Collaboration centric scenarios
Apply to corporate intranets looking to leverage shared document repositories with
other social collaboration tools like blogs, wikis, and forums.
Apply to Facebook-like social networks and developer communities.
Mostly authenticated access; roughly 5:1 ratio between read and write transactions.
Content and document management scenarios
Apply to corporate intranets and customers looking to manage and share documents.
www.liferay.com
Liferay Engineering
For simplicity, Liferay opted to not insert a firewall or a hardware load balancer into the
benchmark environment.
Application
Tier
Database Tier
Web Tier
Application
Server
Apache Web
Server
Database
Server
Application
Server
Hardware platforms:
1. Web Server
1 x Intel Core 2 Duo E6405 2.13GHz CPU, 2MB L2 cache (2 cores total)
4GB memory, 1 x 146GB 7.2k RPM IDE
2. Application Server
2 x Intel Core 2 Quad X5677 3.46GHz CPU, 12MB L2 cache (8 cores and 16 threads)
64GB memory, 2 x 146GB 10k RPM SCSI
3. Database Tier
2 x Intel Core 2 Quad X5677 3.46GHz CPU, 12MB L2 cache (8 cores and 16 threads)
64GB memory, 4 x 146GB 15k RPM SCSI
Network:
Gigabit network between all servers and test clients
Software:
Liferay Portal 6.2 Enterprise Edition
Sun Java 7 (1.7.0_09)
Tomcat 7.0.40
CentOS 6.4 64-bit Linux (minimal installation)
MySQL 5.6.13 Community Server
Apache HTTPD Server 2.2
Grinder 3 load test client with Liferay customizations
Methodology
Liferay utilized the Grinder load testing tool and its distributed load injectors. In all test
scenarios, the injectors ramped up users at a rate of one user every 100 milliseconds until
achieving the desired virtual user load.
www.liferay.com
Liferay Engineering
The benchmark data was gathered after an initial ramp up time of 5 minutes to initialize all
application elements and warm up all injectors. As part of data gathering, the following
statistics were gathered:
OS level statistics on web, application, and database servers (includes CPU, context
switches, IO performance).
JVM garbage collection information via Visual VM and garbage collector logs.
Average transaction times, standard deviations, and throughput from the Grinder console.
A single application server was used to determine maximum throughput. Once the
maximum throughput was reached on a single server, Liferay added a second application
server to prove the linear scalability hypothesis: that doubling the available application server
hardware will double the maximum number of virtual user supported by the system.
Benchmark Results
Transaction Centric Scenarios
Isolated Login
The first of two transaction centric scenario focuses on the login process of Liferay Portal.
The login and permission retrieval process is one of the most resource intensive processes
within the portal. At login, the portal must retrieve user and security information from the
database and calculate authorizations.
We first examine Liferays performance with simple content portlets on the page.
These portlets are extremely fast, lending average rendering times of less than 10ms.
Table 1 illustrates the performance observed during this test. The mean time for login remains
less than 200ms as we approach the performance inflection point. At 26000 virtual users,
we have a mean time () of 66.5ms and 95% of the logins (2) around 231.1ms. The optimal
performance point with relatively small standard deviation occurs somewhere around 25000
virtual users.
At 27000 virtual users, we exceed the established performance budget of this test (i.e. sub
1 second login times). Thus, the performance inflection point for login is roughly between
26000 and 27000 virtual users while stable performance and throughput is around 26000
virtual users.
Virtual Users
Duration
(min)
(ms)
(ms)
2 (ms)
Throughput
(TPS)
CPU
Utilization (%)
22000
30
20
11.1
42.2
628
69
24000
30
28.8
23.9
76.6
685
77
25000
30
47.5
52.5
152.5
713
83
26000
30
66.5
82.3
231.1
741
86
27000
30
718
303
1324
746
94
www.liferay.com
Liferay Engineering
Login Time
1400
1200
1000
800
600
Login Time
400
200
0
22000
24000
25000
26000
27000
Concurrent Users
During peak load, the portal has an optimal throughput for the login transaction of 744
transactions per second.
Throughput
760
740
Transactions / sec
720
700
680
660
640
620
Throughput
600
580
560
22000
24000
25000
26000
27000
Concurrent Users
Upon maxing out a single application server, a second portal application server was
deployed. The benchmark results showed that Liferay Portal was able to breach 52,000
virtual users using two application servers. At 52,000 users across two application servers,
the performance characteristics remained identical to those gathered with 26000 users on a
single application server.
Login with Legacy Simulator
This test scenario helps demonstrate the impact of adding a portlet that will sleep for 2
seconds. The 2 seconds simulate the impact of integration with systems like Salesforce.com
or interacting with a companys enterprise service bus. The hypothesis is that individual
portlet performance will have impacts on the overall performance of the portal solution.
The statistics indicate a decrease in the maximum number of concurrent users prior to
reaching the optimum performance point. In this scenario, the portal reaches optimal
throughput and performance at roughly 7400 virtual users, 18600 users less than the previous
www.liferay.com
Liferay Engineering
login scenario. At the inflection point, we see that 95% (2) of the combined login and
homepage transactions consume 2.3s with a mean time of 2.1s.
Unlike in the isolated login test case, this test case was only able to utilize 60% of the CPU
at peak throughput. This is due to the slower transaction response times (e.g. 2s). This can
potentially be resolved by adding a second JVM to service requests.
Duration Time Delayed Time Delayed Time Delayed
Page
Page
(min)
Page
2 (ms)
(ms)
(ms)
Virtual
Users
Throughput
(TPS)
CPU
(%)
4000
30
2030
20.9
2071.8
103
19
5500
30
2030
33.6
2097.2
141
27
6500
30
2040
44.6
2129.2
166
33
7400
30
2110
108
2326
189
60
7600
30
2500
357
3214
190
58
Login Time
3500
3000
2500
2000
1500
Login Time
1000
500
0
4000
5500
6500
7400
7600
Concurrent Users
Figure 4 illustrates Liferay Portal approaching its optimal performance just above the 7400
virtual users threshold.
As with the first scenario, a second portal application server was deployed upon determining
the inflection point. The benchmark results showed that Liferay Portal was able to breach
14800 virtual users using two application servers. At 14800 users, the transaction times
remained similar to the times gathered on a single application server.
This test confirms that individual portlets will have an impact on the performance of the
overall portal solution. Slower portlet transactions will decrease the maximum concurrent
user load each physical server may support.
Collaboration Scenarios
Message Boards
Message boards represents one of the foundational elements around social collaboration.
The message board test cases demonstrate the full range of capabilities for the Liferay message
board, simulating how an end user may utilize the features. In Table 4 and 5, we see the
breakdown for each individual transaction within the test, including login, browsing, and posting.
www.liferay.com
Liferay Engineering
In almost every case, 95% of the transactions remain under 2s when we have roughly 11000
virtual users. At 11500users, we see that the system has begun to exceed the performance
inflection point.
Virtual
Users
Duration
(min)
Login
Time
(ms)
Login
Time
(ms)
Browse
Category
(ms)
Browse
Category
(ms)
Browse
Thread
(ms)
Browse
Thread
(ms)
Browse Posts
(ms)
Browse Posts
(ms)
8000
30
20.7
8.28
72.8
14.4
40.1
19.8
116
17.6
9000
30
21.8
9.37
80
20.8
44.2
23.9
128
24.2
10000
30
24.7
14.3
95.4
35.4
53.2
33.6
151
39.1
10500
30
27.2
19.7
107
50
60.9
42.3
165
51.9
11000
30
47.5
76.4
141
83.9
82.9
67.8
201
86.7
11500
30
793
1030
482
402
385
391
613
464
Virtual
Users
Post
Thread
(ms)
Post
Thread
(ms)
Reply
Thread
(ms)
Reply
Thread
(ms)
Total
(ms)
Total
(ms)
Total
2(ms)
CPU
(%)
8000
90.3
17.2
87.8
17.2
427.7
108.28
644.26
55
9000
101
23.5
98.1
24.7
473.1
135.47
744.04
64
10000
121
36.9
118
40.5
563.3
199.8
962.9
73
10500
134
49
132
52.3
626.1
265.2
1156.5
76
11000
170
91.2
173
99.9
815.4
505.9
1827.2
82
11500
780
782
762
719
3815
3788
11391
87
600
Login Time
500
Browse Cat
400
Browse Thread
300
Browse Posts
200
Post Thread
100
Reply Thread
0
8000
9000
10000
10500
11000
11500
Concurrent Users
www.liferay.com
Liferay Engineering
As with previous tests, Liferay confirmed that the maximum user threshold doubled when
doubling the number of physical servers.
Blogging
Blogging is another cornerstone for social collaboration. As with the message board test
cases, we attempt to simulate real end user behavior of browsing, reading, and contributing
to blogs. While the blogging components in Liferay reuse some of the components of the
Message Boards, we do see somewhat different performance due to the reduced complexity
of the Blogs features (e.g. no nested categories and thus reduced entitlement validation).
As shown in Tables 6 and 7, the statistics point to a performance inflection point of roughly
8000 virtual users. At this load, we observed total mean transaction times () at 523.6ms
with 95% of all transactions consuming roughly 1.1s. Individual transactions are substantially
lower. For instance, to post comments on a blog and to post a new blog entry, the statistics
report 95% of the transaction at about 171ms and 130ms respectively.
Virtual
Users
Duration
(min)
Login
Time
(ms)
Login
Time
(ms)
Browse
Category
(ms)
Browse
Category
(ms)
Browse
Thread
(ms)
Browse
Thread
(ms)
Browse Posts
(ms)
Browse Posts
(ms)
5000
30
18.4
6.28
58.6
13.4
37.8
8.24
99.1
13.9
6000
30
19.2
7.22
63.3
16.9
40.6
10.6
107
18.5
7000
30
20.8
8.95
72.6
24.8
46.3
16.5
120
27.8
7500
30
23.1
11.7
84.2
34.6
53.5
24.3
137
40.8
8000
30
33.5
39.9
115
67.8
74.1
50.2
171
84.8
8500
30
2060
1120
1390
733
911
967
2000
1360
Virtual
Users
Post
Thread
(ms)
Post
Thread
(ms)
Reply
Thread
(ms)
Reply
Thread
(ms)
Total
(ms)
Total
(ms)
Total
2(ms)
CPU
(%)
8000
90.3
17.2
87.8
17.2
427.7
108.28
644.26
55
9000
101
23.5
98.1
24.7
473.1
135.47
744.04
64
10000
121
36.9
118
40.5
563.3
199.8
962.9
73
10500
134
49
132
52.3
626.1
265.2
1156.5
76
11000
170
91.2
173
99.9
815.4
505.9
1827.2
82
11500
780
782
762
719
3815
3788
11391
87
www.liferay.com
Liferay Engineering
1200
1000
800
600
400
200
0
5000
6000
7000
7500
8000
Concurrent Users
View File
Details
(ms)
View File
Details
(ms)
Download
File
(ms)
Download
File
(ms)
Upload File
(ms)
Upload File
(ms)
100
22
30.5
12.9
6.57
8.18
193
31.7
109
32.1
33.4
17.1
7.13
12.2
212
46.8
30
133
75.1
41.0
43.8
10.5
35.1
261
119
Virtual
Users
Duration
(min)
Browse
Folder
(ms)
7500
30
8000
30
9000
9500
30
142
67.7
43.3
33.7
9.97
22.3
281
107
10000
30
196
131
64.5
75.6
21.8
57.7
376
219
10500
30
725
680
428
557
314
482
1350
1280
11000
30
1490
1340
922
1010
898
1110
2540
2390
10
www.liferay.com
Liferay Engineering
3000
2500
Browse Folder
2000
1500
Download File
1000
Upload File
500
0
7500
8000
9000
9500
10000
10500
11000
Concurrent Users
Summary
Liferay Engineering, in collaboration with various clients and partners, commissioned this
benchmark study to demonstrate the performance and scalability of Liferay Portal and to
provide statistics for future capacity planning.
Based on the results of this study, Liferay determined that the Liferay Portal platform provides
an extremely scalable and high performance environment for building an infrastructure portal,
a collaboration portal, a content portal, and any combination of these capabilities. With its
immense flexibility and proven performance and scalability, Liferay believes the Liferay Portal
platform is uniquely positioned to help bring Web 2.0 capabilities to the enterprise.
Due to the many performance enhancements introduced in the enterprise edition, the
benchmarks apply to Liferay Portal 6.2 EE and not to 6.2 CE). This approach ensures that
Liferays EE subscription customers realize the benefits of the engineering teams testing
immediately while also providing similar benefits to Liferays open source community in a
future community edition release.
Moving Forward
Contact Us
For more information about Liferay Portal, contact us at sales@liferay.com.
Get a Free Trial
Download a free trial of Liferay Portal at www.liferay.com/free-trial.
Acknowledgements
Liferay would like to thank the Liferay customer network for their contributions in helping
develop performance test cases. Liferay would also like to thank the Liferay Portal
Open Source Community for their important contributions in performing independent
benchmarking and testing.
11
www.liferay.com
140204