Tuning active HTTP threads for IBM Traveler

IBM Traveler devices utilize Domino® web server HTTP threads when communicating with the server.

If the number of active HTTP threads is insufficient, the following problems may occur:
  • Apple device users may experience "Cannot connect to server" messages or slow responsiveness when opening, sending, or synchronizing email, contacts, or calendar items and when downloading email attachments
  • Other device users may see error 503 (Server busy) messages in the IBM Traveler client interface, experience sync failures, and general slow responsiveness
  • Server CPU and memory utilization may increase to abnormal levels
The number of active HTTP threads needed for Traveler is calculated this way: 1.2 x Number of registered devices = Number of needed active HTTP threads.
Note: BlackBerry 10 devices tend to use more connections than other mobile devices. Therefore, the general rule of multiplying the number of devices by 1.2 may not be sufficient in calculating the number of HTTP threads and may need to be increased to 2 times the number of BlackBerry devices plus 1.2 times the number of non-BlackBerry devices. BlackBerry 10.3.1 and later releases include improvements to the number of connections utilized, which may reduce the number of HTTP threads. Please contact BlackBerry for additional information about connection utilization by specific BlackBerry 10 releases.

Default HTTP thread values activated by IBM Traveler

IBM Traveler will ensure a minimum number of active HTTP threads are defined on first startup. This value depends on the architecture of the Domino® instance.

For 32-bit Domino® installations, IBM Traveler will ensures at least 100 HTTP threads are allocated.

For 64-bit Domino® installations, IBM Traveler will ensure at least 400 HTTP threads are allocated.

This only happens on first startup to ensure out of the box run-time capability. To change the number of HTTP threads available, see the sections below.

How to determine the number of IBM Traveler devices

At the Domino® console on the Traveler server, run the following command:
tell traveler stat show
In the output displayed by the command, find Push.Devices.Total, which is the total number of devices registered with the server. For example:
Push.Devices.Total = 225

This indicates that 225 devices are registered for synchronization with the IBM Traveler server and that at least 270 HTTP threads are needed (1.2 x 225 = 270).

If the console output is scrolling too quickly to find this information, the info can be dumped to a file by doing the following:
  1. Run the console command tell traveler systemdump stat.
  2. Open \data\IBM_TECHNICAL_SUPPORT\traveler\logs\dumps\systemdump.log.
  3. Search for Push.Devices.Total.

How to determine the current number of active HTTP threads

The current number of active HTTP threads allocated by the Domino® web server at startup can be found in the Server document on the Internet Protocols > HTTP tab in the Number active threads field.

When using the systemdump file to find the current number of active HTTP threads, search for this setting:
MaxActiveThreads
For example, this would be the line as found in a systemdump:
Name: HTTP_MaxActiveThreads Type: Number/number list Size: 10 Value: 100

How to change the number of active HTTP threads

The number of active HTTP threads can be changed in the Server document on the Internet Protocols > HTTP tab in the Number active threads field. It is also important to ensure there are a sufficient number of concurrent connections allowed. This setting is in the Server document on the Internet Protocols > HTTP tab in the Maximum number of concurrent network sessions field. Ensure that this value is at least equal to or greater than the number of active threads defined.

To make these changes effective, stop and restart HTTP (console command: restart task http).
CAUTION: Allocating too many active HTTP threads will result in unnecessary server memory consumption, so it is recommended to only allocate the necessary number of HTTP threads needed for proper IBM Traveler operation, as described here. If other HTTP applications are running on the Traveler server (for example, iNotes® or Sametime®), the number of threads needed for IBM Traveler will need to be added to the threads used by these applications.