Editor's note: Know a lot about this topic? Want to share your expertise? Participate in the IBM Lotus software wiki program today.
XPages performance was one of the top priorities for Lotus Domino 8.5.2 server. XPages provides the ability to easily create a web 2.0 user experience in existing Lotus Domino web applications. We used the discussion database that was available with classic Lotus Domino design elements and with XPages design elements (available since Lotus Domino 8.5) to optimize the XPages runtime and design elements. The classic discussion application database scaled up to 200 concurrent users. The new and improved XPages discussion database on Lotus Domino 8.5.2 scaled to three times more concurrent users and total pages per second than the classic discussion database.
The measurements shown in this article use IBM Rational® Performance Tester version 8.1 with the Lotus Domino 8.5.2 server using the classic discussion database and XPages discussion database. Rational Performance Tester simulated Internet users that were performing or browsing common operations using a single Lotus Domino server. Each user performed the following sequence of operations:
- Log in.
- View all documents.
- Read five documents.
- Respond to a document.
- View by category.
- Read five more documents.
- Create a topic.
- Do a search.
- Read a document after the search.
- Log out.
Hardware and Lotus Domino server configurations
The Lotus Domino server was configured on an Intel X5450 server with four processors running Microsoft® Windows® 2003 Enterprise Edition in 64-bit mode. The system was configured with 8 GB memory and one local disk drive. The network used a 1.0 Gbps Ethernet adapter. See table 1.
Table 1. Hardware configuration
|Processors for test / speed||4 processors at 3.0 Ghz|
|Active physical drives||1 local disk|
|Active logical volumes||None|
|Operating system||Microsoft Windows 2003 Enterprise Edition, SP2 using 64-bit mode|
Lotus Domino configuration
The discussion database contains 113,000 documents and 23 categories and has full text index enabled. The classic discussion database size was 270 MB with template discussion7.ntf from Lotus Domino 7.0, and the XPages discussion database was 700 MB with template discussion8.ntf from Lotus Domino 8.5.2. A single Lotus Domino server 8.5.2 was used to test and compare the performance of the classic and the XPages discussion databases. We did not enable Lotus Domino transaction logging for this comparison. See table 2.
Table 2. Software configuration
|XPages discussion database||Discussion8.ntf from Lotus Domino 8.5.2|
|Classic discussion database||Discussion7.ntf from Lotus Domino 7.0|
|Notes.ini settings in addition to those commonly used for these tests||HTTPJVMMaxHeapSizeSet=1|
Performance test results
Figures 1-4 show the classic discussion database on Lotus Domino 8.5.2 and the XPages discussion database on the Lotus Domino 8.5.2. Each interval shows the average of the one-hour steady state of each incremental set of concurrent users.
Figure 1 shows the percent processor busy and total pages/second (TPS). The processor utilizations were was about the same between the classic and the XPages discussion data bases until 200 users. The XPages discussion database was able to scale up to 500 users with 15 total pages per second, where the classic was able to scale up to only 200 users with 5.5 TPS. For both set of tests one second was used as the acceptable user response time.
Figure 1. Windows: Percent processor busy and total pages/second by number of users
Figure 2 shows the total disk I/O operations per second at different simulated user loads. The classic discussion database showed fewer IOPs for the 200 users supported with response times less than one second.
Figure 2. Windows: Total disk kBytes transferred per second by number of users
Figure 3 shows the total disk kilobytes transferred per second at different simulated user loads.
Figure 3. Windows: Network kBytes per second by number of users
Figure 4 shows the network kilobytes per second at different simulated user loads. The classic discussion database used two times more network bandwidth than the XPages discussion database because the classic discussion database does not have support for GZIP encoding, while the XPages discussion application has code that does GZIP compression.
Figure 4. Windows: Processor busy and total pages per second with response time of less than three seconds by number of users
Figure 4 shows the classic discussion database and the XPages discussion database on Lotus Domino 8.5.2 with user response times of less than three seconds. As shown in figure 4, beyond 500 concurrent users, the XPages discussion application shows a nonlinear increase in processor utilization and a higher response time. This change can be attributed to the database semaphore contention caused by several hundreds of users trying to access a single application. Performance analysis conducted at that load indicates that the XPages runtime itself did not limit the scaling of concurrent users on this application.
The performance of the XPages discussion application has improved in Lotus Domino 8.5.2. User scalability improved three times, and network bandwidth and user throughput (transactions per second) improved. The size of the discussion database increased because of the new features and the new discussion database template supported by XPages.
Explanation of Notes.ini settings
|Notes.Ini parameter name||Explanation|
|HTTPJVMMaxHeapSizeSet||HTTPJVMMaxHeapSizeSet=1 to prevent the server from resetting the HTTPJVMHeapSize ini back to 64 M from 256 M|
- Participate in the discussion forum.
- Contribute to the IBM Lotus Domino wiki.
- See the developerWorks® IBM Lotus Notes and Domino product page.
Dig deeper into IBM collaboration and social software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.