Lotus Traveler: Tuning English

= Lotus Traveler Thread Pools =

Description
Lotus Notes Traveler has four thread pools that can be tuned:


 * Prime sync threads - Determine if changes to user mail files need to be synchronized to user devices.
 * Device sync threads - Synchronize data between Domino mail servers and user devices.
 * Worker threads - Used internally in the device synchronization process.
 * HTTP threads - Used by the HTTP task, one per HTTP connection.

Important to know
A long running PS thread indicates that the user is synching a large amount of data (no limits are set) Thread types to be concerned about:


 * DS = Device Sync (Connection thread between Mobile device and Notes Traveler server)
 * PS = Prime Sync (Connection thread between Notes Traveler server and User Mail server)

= GENERAL: Optimizing Name lookup =

A good way to optimize Name lookup, is to configure the minimum number of characters in the search string required to perform a search.

NTS_LOOKUP_MIN_LENGTH=3

= Traveler Availability Index =

Availability Index (AI) used by Traveler servers in the pool to balance load.?

The AI range can be from 100 to -200
 * 100 to 0 Normal processing range (base AI 100)
 * 0 to -100 Traveler server is in constrained state (base AI 0)

busy responses in attempt to recover.
 * Constrained state is when the server recognizes it is overloaded and starts send 503 server

? The AI is computed by subtracting the larger of the memory usage and CPU usage from the Base AI. Native memory is the percentage of Native memory use vs physical memory Average CPU percentage over last 15 minutes.
 * 00 to -200 Traveler server is unavailable (base AI -100)
 * Administrator has marked server as unavailable using tell command.

System stat results
System stat results

Default Values
Variables at file Domino data directory\traveler\cfg\NTSConfig.xml.

How to determine the current number of active devices
Checkout for Push.Devices.Total statistics. To find out if you need to change this parameter, run the following command

> tell traveler stat show ... Push.Devices.Total = 225 ...

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.

= Guidelines = The following are general guidelines for the relationships between the number of threads in each of the thread pools.


 * Prime sync threads should be much less than the number of device sync threads; normally the prime sync default of 10 threads should be adequate.
 * Worker threads should be double the number of device sync threads.
 * HTTP threads should be 1.2 times either the number of device sync threads or the number of ActiveSync devices, whichever is larger.

Statistics
= Cache User Info - HTTP Maximum Cached Users - 64 bits only =

To optimize the response time keeps Domino design elements in memory.

Example
To find out if you need to change this parameter, run the following command

> Show stat domino.cache.user* Domino.Cache.User Cache.Count = 68 Domino.Cache.User Cache.DisplaceRate = 0 Domino.Cache.User Cache.HitRate = 73.258795221749 Domino.Cache.User Cache.MaxSize = 64

Observing these numbers we can deduce that the value of elements (Count) has reached the maximum (MaxSize), so elements in this cache are discarded ( DisplaceRate).

The optimal value for theHitrate is near 100%, andDisplaceRate is 0%. Increasing the value of the fieldMaximum cached designs improves response-time.

= Deciding which server performs the lookup =

By default, the lookup is performed against the user's mail server. This is done to reduce the configuration needed on the Traveler server and to provide more consistent results with a Notes client.

You can change this behavior to perform the lookup operation against the Traveler server. To do this, set the following parameter in the notes.ini file:


 * NTS_TRAVELER_AS_LOOKUP_SERVER=True

= TRAVELER =

HTTP Active Threads
Traveler.Push.Devices.ActiveSync Traveler.Push.Devices.ActiveSync.Connected Traveler.Push.Devices.HTTP Traveler.Push.Devices.HTTP.Connected

HTTP Active Threads deve ser 1.2 vezes a qtde de Push Devices (ou o que o servidor deve suportar em caso de failover)

Important to know
A long running PS thread indicates that the user is synching a large amount of data (no limits are set) Thread types to be concerned about:


 * DS = Device Sync (Connection thread between Mobile device and Notes Traveler server)
 * PS = Prime Sync (Connection thread between Notes Traveler server and User Mail server)

Histograma de query no DB2
Traveler.Database.Query.Histogram.**

Por exemplo, Traveler.Database.Query.Histogram.UpdateTimeSyncInDevice.000-001 = 202 se estiver muitos 005-010 ou acima sendo reportados, pode indicar um problema de conexão ao banco.

Database.Query.Histogram.GudSelect.0 Database.Query.Histogram.GudSelect.1 DCA.DB_OPEN.Time.Histogram.CN

DB2 Connectins
Traveler.DB.Connections = 4 Traveler.DB.Connections.Idle = 4 Traveler.DB.Connections.Max = 600 Traveler.DB.Connections.Peak = 24

TRAVELER: Mail Server Connections Histogram
[01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.000-001 = 1267 [01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.002-005 = 1 [01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.005-010 = 1 [01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.000-001 = 15902 [01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.001-002 = 1 [01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.002-005 = 1 [01997:00007-4127529840]  Traveler.DCA.DB_OPEN.Time.Histogram.CN=SERVER1/O=Company.005-010 = 4

Deve ser monitorado para se houver muitas conexões em tempo 005-010 ou acima, pode indicar um problema de latência entre Traveler e Mail Server

TRAVELER: Thread Pool
Traveler.ThreadPool.GetThreadDelayTime.Alarm.00-02 = 29302 Traveler.ThreadPool.GetThreadDelayTime.DS.00-02 = 75977 Traveler.ThreadPool.GetThreadDelayTime.PS.00-02 = 137501 Traveler.ThreadPool.GetThreadDelayTime.TC.00-02 = 110 Traveler.ThreadPool.GetThreadDelayTime.VC.00-02 = 49603 Traveler.ThreadPool.GetThreadDelayTime.Worker.00-02 = 1493976

-> You can see if there is a long delay before a device synchronization thread is allocated. > 02-05 indicate a range (in seconds) that Http thread start. This implies that the current device thread count is sufficient for the load.

TRAVELER: Error on Console
Look at file NTSErrors.log

"Notes Traveler: SEVERE CN=" "Notes Traveler: WARNING CN="

TRAVELER: Sync Error
Traveler.DeviceSync.Count.200 = 89397 Traveler.DeviceSync.Count.408 = 201 Traveler.DeviceSync.Count.409 = 497 Traveler.DeviceSync.Count.503 = 4

Java Memory
Java memory management in Notes/Domino http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Java_memory_management_in_NotesDomino

HTTP/JVM Out of memory http://www-10.lotus.com/ldd/dominowiki.nsf/page.xsp?documentId=D43B6B44146BC7AC85257A2C006EED3E&action=openDocument

= Ver também =


 * Lotus Traveler: Tuning English
 * Lotus Traveler: Configurando Alta Disponibilidade
 * Lotus Domino: Redirecionando Output para um arquivo e executando um shell
 * IBM Domino: Coletando estatísticas de um servidor Domino via HTTP


 * Mais Artigos sobre IBM Domino, IBM Notes e IBM Traveler