ShowTable of Contents
IBM® Lotus® Notes® Traveler
provides two-way, over-the-air synchronization between IBM Lotus Domino® servers and Microsoft® Windows® Mobile, Nokia S60 and Symbian, Apple (iPhone, iPad, and iPod Touch), and Android devices.
Notes Traveler synchronizes mail, calendar, to-do, address book, and journal data in real time. The Notes Traveler server runs as a Domino server task and is installed on a server running Lotus Domino. The Notes Traveler server task uses the Domino directory to automatically look up and find Notes users.
Server High Availability
Notes Traveler 8.5.3 Upgrade Pack 1 (UP1) in High Availability (HA) configuration added the ability to run multiple Notes Traveler servers in a service pool, thereby allowing devices to connect to any server in the pool.
Requests are received at any Notes Traveler server, and a determination is made whether to service the request locally or to route the request to another server in the pool. This decision is based on which server is currently monitoring mail for the user and on server loads. If a server in the pool is stopped or otherwise unavailable, device requests can be handled by the other servers in the pool without requiring recovery sync.
Notes Traveler 8.5.3 UP1 in HA configuration uses Enterprise Database Servers for HA. IBM DB2® and Microsoft SQL Server are used for storing Notes Traveler Notes administration data and device synchronization data. An enterprise database is not required when running Notes Traveler on a single server.
In this article we present the performance test results of Notes Traveler 8.5.3 UP1 in HA configuration.
Let's begin with the details of our testing.
For this study the test configuration was as shown on figure 1 and as outlined in table 1.
Figure 1. Test configuration
Table 1. Test configuration hardware and software
Load balancer Physical Machine
2x2.4 GHz (24 logical processors)
IBM Edge Server 5.1 with Load Balancer on Win 2008 R2 64-bit
Mail server Physical Machine
2x2.56 GHz (16 logical processors)
One Internal 600-GB logical unit number (LUN) and three external 1-TB LUNs per server
Domino 8.5.3 FP1 on Win 2008 64-bit
Traveler Server VMware
6-disk 860-GB LUN
Traveler 8.5.3 UP1 HA and Domino 8.5.3 FP1 on Win 2008 R2 64-bit
DB2 Server Physical Machine
1x2.8 GHz ( 6 logical processors)
Data volume: 8-disk Redundant array of independent disks (RAID) 5 LUN Transaction log: 4-disk RAID 5 LUN
DB2 V9.7 FP5
OS: Red Hat Enterprise Linux (RHEL) 5.7 64-bit
MS SQL Server Physical Machine
2x2.4 GHz (24 logical processors)
Data, tempDB: 8- disk RAID
5 LUN Transaction Log,tempDB-logs: 4- disk RAID 5 LUN
SQL Server Enterprise 2008 R2 SP1 OS: Win 2008 R2 64-bit
The test strategy was to simulate a typical enterprise-customer messaging load and then add mobile devices to that environment. The Lotus Notes Server.Load workload generators simulated Notes client activity by sending mail to random users in the test set and causing other activity on the Domino mail server.
We added mobile devices into this mix, using the device simulators, which keep the changes generated by Server.Load in sync with the client and simulate mobile-user actions on the device.
The performance of the Notes Traveler server and the Domino Mail server were measured by use of the Notes Traveler and Server.Load N8Mail workloads on a Windows 2008 64-bit server operating system.
The Notes Traveler server pool consisted of three Traveler servers, two database servers configured for HA (using RDBM databases, DB2 9.7 FP5 or MS SQL 2008 R2 SP1), and one IBM Load Balancer.
In addition, we used three Domino Mail servers in a cluster, using Domino clustering, with identical replicas of the Domino Directory Names and Address Book (NAB) with 18,000 users.
Notes Traveler servers were exercised by test systems that simulated mobile device clients. These driver systems simulated remote devices reading and sending mail messages through a load balancer using HTTP (not HTTPS).
Here are the details the Lotus Notes Traveler client script:
There are 64 iterations of this loop with a 15-min wait between iterations. Each user starts on a random iteration count (1st, 5th, etc.), and each user runs for the entire 64 iterations:
- OPEN/READ five Inbox mails (every iteration)
- Reply to the first mail (every 2nd iteration)
- SEND one 10-byte mail to one person (every 8th iteration)
- SEND another 10-byte mail to three people (every 8th iteration)
- MOVE one mail from the Inbox to the NotesBench folder (every iteration)
- DELETE two mails (every iteration)
In addition to the user scripts above, the Notes Traveler clients are listening for auto-sync (push) messages from the Notes Traveler server. If mail or calendar data is changed on the server as a result of the NotesBench load drivers, then the Notes Traveler client will automatically synchronize the server changes to the device.
The load driver for Notes Traveler simulates Windows Mobile (WM) 6, Nokia, Apple and Android devices. Windows Mobile, Nokia, and Android devices use HTTP-based auto sync, whereas Apple devices use the Exchange ActiveSync synchronization protocol and have different performance characteristics than the WM, Nokia, and Android devices.
For Notes Traveler 8.5.3 UP1, a mixed workload with 50% WM6/Nokia/Android devices and 50% Apple devices was used.
Domino 8.5.3 UP1 mail server workload
The Server.Load N85Mail workload that was run on the Domino 8.5.3 FP1 mail server simulated users sending mail using a Notes 8.5.3 client, and one-third of the N85Mail workload was sent against each of the Domino 8.5.3 FP1 mail servers.
This workload is part of the Server.Load workload tools suite (included as an install option in the Administrator Client). For more information on the N85Mail workload, refer to the developerWorks article, “IBM Lotus Notes V8 workloads: taking performance to a new level
For these measurements, the N85Mail workload simulated 4,000 Notes clients sending mail to up to 12,000 users (2000 + the number of mobile device users). The additional users (up to 10,000, or as otherwise noted) were the Notes Traveler registered users. These measurements simulate a customer environment in which mail users are using either a Notes client or a Notes Traveler device, and not both at the same time.
: All our tests are lab measurements; therefore the results may differ from real customer environments. For assistance with capacity planning, we recommend consultation with the IBM TechLine team, which does capacity planning for new hardware.
Domino mail server configuration parameters
Table 2 lists the software configuration for the Domino mail server.
Table 2. Software configuration
Used for all tests
The mail server is running Domino Server 8.5.3 FP1 (32-bit) set up as a single Domino partition server in accordance with the data in table 1.
IBM Lotus Notes Traveler server configuration parameters
Lotus Notes Traveler Server 8.5.3 UP1 (64-bit) was set up in accordance with the data in table 1.
Table 3 shows the software configuration for the Notes Traveler Server 64-bit in HA configuration.
The Notes Traveler server must be tuned for the number of active users that it supports. The setting we changed for this test is indicated in the table by an asterisk. For more details, refer to the “Tuning performance of the server
” topic in the Notes Traveler 8.5.3 UP1 product documentation.
Table 3. Software configuration for Notes Traveler Server 64-bit
Used for all tests
|HTTP threads||1.2* number of devices|
Notes Traveler 8.5.3 UP1 with Microsoft SQL database in HA configuration on Traveler Servers
Figure 2 shows the CPU resource utilization for Notes Traveler Server 8.5.3 UP1 (64-bit) on 64-bit Windows 2008 at WM6/Nokia/Android-simulated user loads with Microsoft SQL database in HA configuration.
Figure 2. CPU Utilization for Traveler 8.5.3 UP1 HA Server and Microsoft SQL Database Server
The CPU utilization at 6,000 active users was 30%, while at 8,000 active users the CPU utilization was 45%.
Notes Traveler 8.5.3 UP1 HA Server with Microsoft SQL Database Server on Database Server
The most important characteristic for Notes Traveler 8.5.3 UP1 in HA configuration is disk utilization of the database servers, as shown in figure 3. IOPS is the standard unit of measurement for I/O (Input/Output) operations per second.
Figure 3. IOPs of Primary Database Server
Notes Traveler 8.5.3 UP1 with DB2 Database Servers
Figure 4 shows the CPU resource utilization for Notes Traveler Server 8.5.3 UP1 (64-bit) on 64-bit Windows 2008 at different simulated user loads with DB2 Database Servers in an HA configuration.
The CPU utilization at 4,000 active users was 15%, and at 6,000 active users was 20%, while at 8,000 active users the CPU utilization was 30%.
Figure 4. CPU utilization for Traveler 8.5.3 UP1 HA Server and DB2 Database Servers
Figure 5 shows DB2 Database Server sustained disk IOPs for different simulated user loads.
Figure 5. IOPs of the Database Server
For Notes Traveler Server HA performance:
• VMware instances can be used for the Traveler servers.
• To avoid having a single point of failure, each Traveler server in the Traveler server pool should be on a different VMware ESX server.
• Recommend up to 2,500 devices maximum per Traveler server:
◦ Maximum number of 2500 devices is after failover
◦ Plan accordingly so as not to exceed 2500 devices per Traveler server after failover
• Recommended server resources: Four CPU cores or VMware CPUs and 16GB RAM for each Traveler server in the pool.
• Use 64-bit operating system, Notes Traveler, and Lotus Domino (where supported)
• Place the Traveler servers and the database servers all in the same data center.
Guidelines for determining the number of Traveler servers needed for HA:
Formula: (# of devices/ (n-1)) < 2500 devices,
where n is the # of Traveler servers needed for failover planning
• For 8000 devices with planning for up to one offline server:
(8000/(n-1)) = < 2500
8000/2500 = < n-1
3.2 + 1 = < n; therefore you round up, and the # of servers needed is 5
• For 8000 devices with planning for two offline servers
(8000/(n-2)) = < 2500For Notes Traveler Database Server performance:
8000/2500 = < n-2
3.2 + 2 = < n; therefore you round up, and the # of servers needed is 6
• The database servers and storage were physical for all performance measurements; physical servers for the database servers are recommended for large enterprise deployment.
• Data and Transaction Log volumes should be on separate storage hardware RAID LUNs for best performance.
• Data and Transaction Log volumes should be able to support the sustained
• For a database server supporting up to 10,000 devices in a Traveler Server pool, we recommend:
◦ Eight CPU cores, 32GB RAM, and 1,000 sustained
IOPs is recommended.
◦ A dedicated (not shared with other applications) hardware RAID 5 (or better) LUN with 8 disks (8,000 to 10,000 devices) for the Traveler database.
◦ A dedicated (not shared with other applications) hardware RAID 1 (or better) with 4 disks for Transaction Log.
◦ The LUNs be dedicated; the storage system can be shared.
• For up to 8,000 devices, six disks are needed for the Traveler database LUN.
• Database servers should use DB2 HADR or Microsoft SQL for full HA (requires two database server).
• DB2 V9.7 FP5 or later and Microsoft SQL Server Enterprise 2008 R2 SP1 or later are required.
Table 4 lists the hardware requirements per database server in the HA configuration.
Table 4. Hardware requirements per database server
Number of devices in Traveler Service Pool
Disk drives for Traveler DB
Disk drives for Transaction Log
Up to 4,000
4,000 to 6,000
6,000 to 8,000
8,000 to 10,000
For the Traveler 8.5.3 UP1 in HA configuration to attain the sustained
IOPs in the measurements done in the performance lab, the number of disk drives listed in the table above was required.
It is important to note that the storage system used for the database servers should be able to support the sustained
IOPs required as listed in figures 3 and 5. For example, if using a high-end storage such as the IBM XIV® Storage System, then the storage LUNs should be configured for the required sustained IOPS. Notes Traveler 8.5.3 UP1 in HA configuration doesn’t support Traveler Pool and Database servers in remote data centers.
For load-balance performance:
• An IBM Edge Server with Load Balance was used for the performance measurements, only as a dispatcher
• Hardware recommendation:
◦ Tow CPU cores
◦ Eight to 16 GB RAM, depending on the functionality used on the Edge Server
• At 10,000 devices, load connections/sec was 200
For Notes Traveler DB2 Database configuration:
• LOGBUFSZ = 8192
• LOGFILSIZ = 8192
• MINCOMMIT = 1
• Number of primary log files (LOGPRIMARY) = 120
• Number of secondary log files (LOGSECOND) = 10
• Traveler DB2 Database Bufferpool can be set to 1--2 GB based on available physical RAM on the server and the user load
◦ For example, for a Traveler pool supporting 8,000 devices, a Bufferpool up to 2 GB is recommended on a DB2 server running with 8--16 GB RAM.For Notes Traveler 8.5.3 HA UP1 Server performance:
• Notes.ini settings for DB2 connection:
• The Traveler HTTP threads setting should be left the same as what was recommended for Notes Traveler 8.5.3, based on the number of devices per server.
• The Traveler JavaTM
heap setting should also be left the same as what was recommended for Notes Traveler 8.5.3.
◦ For example, we use 4096-MB heap size per Traveler server supporting around 2500 devices. You can set the Java Max memory on the Lotus Traveler tab of the Server document.
This article details the performance test results, deployment recommendations, and tuning of Lotus Notes Traveler 8.5.3 UP1 in HA configuration on Microsoft Windows 64-bit with both IBM DB2 in HADR configuration and Microsoft SQL database with mirroring.
Tell us what you think
Please visit this link to take a one-question survey about this article:
Announcement: “IBM Lotus Notes Traveler 8.5.3 Upgrade Pack 1”:
Notes/Domino wiki article: “Configuring IBM Lotus Notes Traveler High Availability with an enterprise Microsoft SQL database”:
Notes/Domino wiki article: “Configuring IBM Lotus Notes Traveler High Availability with an an enterprise IBM DB2 database”:
Appendix 1: Notes.ini settings
Notes.ini parameter name
Applies to Domino 8 servers. Set it to 1 to create new ODS48 databases on Domino 8 servers.
Specifies the maximum size (in bytes) of the NSF buffer pool, a section of memory dedicated to buffering I/O transfers between Domino and disk storage.
Specifies the number of databases that a server can hold in its database cache at one time.
Specifies the size of Router Database cache used to cache mail databases in the router process.
Enables or disables whether SchedMgr validates its busytime database entry on a daily basis, as follows:
0 (default) - Enables validation
1 - Disables validation
Sets the limit for the number of concurrently scheduled transactions on a server
Total number of physical threads in the Domino server (DbServer) threadpool.
Applies to servers. Specifies whether or not server performance events are displayed on the console. Set this variable to 1 to display server performance events on console.
About the authors
Yuriy Veytsman is an Advisory Software Engineer and has been working for Lotus/IBM since 1990. You can reach him at email@example.com.
Razeyah Stephen is the Manager of the Domino and Traveler Performance team and has been working at IBM since 1998. You can reach her at firstname.lastname@example.org.
Nirmala Venkatraman is the Architect for the Domino and Traveler Performance team and has been working at IBM since 2000. You can reach her at email@example.com.