Lotus Domino: Tuning English

Tuning

This wiki will be creating a series of articles outlining best practices for Lotus Domino environment.

I ask you to always return to this article will be updating as usual.

Steps


 * 1) Have an implementation plan
 * 2) Know your infrastructure
 * 3) Divide the compounds
 * 4) Platform
 * 5) Notes Mail Statistics
 * 6) Network report
 * 7) Server Load Statistics
 * 8) Have a baseline reference

= GENERAL =

GENERAL: Disabling the Collection of Statistics Platform
Domino statistics collection platform to display the Administrator. The collection does not consume much resources, but we're talking about tuning.

To disable the collection utize the following parameter in NOTES.INI.

Platform_Statistics_Disabled = 1

Reasons:


 * You do not want to collect statistics
 * On partitioned servers (DPAR), each server collects the same statistics. You can enable only in one partition and disable the others.

GENERAL: Disabling Full Text for Attachments Types
Tells the indexer not to index attachments with the XXX extension

FT_Index_Ignore_Attachment_Types=*.nsf,*.ntf,*.tif,*.sys,*.pag,*.img,*.wav,*.gif,*.jpg,*.dll,*.tar,*.exe,*.zip,*.au,*.mpg,*.mov,*.mp3,*.cca,*.dbd,*.p7m,*.p7s,*.wpl,*.bmp

Since version 5.0.5, Domino disable by default to following Attachment types: .NSF, .NTF, .SYS, .PAG, .IMG , .WAV , .GIF, .JPG, .DLL, .TAR, .EXE , .ZIP, .AU , .MPG, .MOV, .MP3.

GENERAL: Disable BCC group expansion
The 'DISABLE_BCC_GROUP_EXPANSION' setting will disable BCC group expansion, thereby improving mail server performance.

DISABLE_BCC_GROUP_EXPANSION=1

DISABLE_BCC_GROUP_EXPANSION

HTTP: Cache Design Elements
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.design .* Domino.Cache.Design.Count = 128 Domino.Cache.Design.DisplaceRate = 18.0328294698918 Domino.Cache.Design.HitRate = 81.960226776015 Domino.Cache.Design.MaxSize = 128

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.

HTTP: Cache User Info
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.

- HTTP Threads:

Domino.Config.ActiveThreads.Max

CPU: Utilization
Platform.Process.ActiveDomino.TotalCpuUtil Platform.Process.traveler.1.PctCpuUtil Server.CPU.Count

-> PctCpuUtil / CPU.Count ~ aprox CPU usage by traveler task

Disk Queue
Server.Path.Data Platform.LogicalDisk.X.AvgQueueLen.Avg Platform.LogicalDisk.X.AvgQueueLen.Peak

Value of Platform.LogicalDisk.X.AvgQueueLen.Avg (X= Data directory^) above 0.2 indicates that the server is running into a limitation of physical resources

How to check Notes Traveler Performance when hosted on a VM http://www-01.ibm.com/support/docview.wss?uid=swg21615973

= TRAVELER =

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)

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

= SERVER =

SERVER: NSF Buffer Pool
Buffering Database I/O

Example

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

> Show stat Database.Database.BufferPool.* Database.Database.BufferPool.Maximum.Megabytes = 1024 Database.Database.BufferPool.MM.Reads = 24 Database.Database.BufferPool.MM.Writes = 7 Database.Database.BufferPool.Peak.Megabytes = 1023 Database.Database.BufferPool.PerCentReadsInBuffer = 98.21

If the Database statistics Database.Database.BufferPool.PerCentReadsInBuffer is lower than 97%,then you should consider tuning this parameter.

SERVER: NSF Cache
To minimize the time lags involved with opening and closing databases on a server, each server uses a database cache.

The Notes.ini NSF_DbCache_Maxentries control how many databases can reside in the cache at a maximum.

This NSF database cache is limited to:


 * 10000 entries = Domino 5.x and 6.x.
 * 20000 entries = Domino 7.x and higher

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

> Show stat Database.Database.BufferPool.* Database.Database.BufferPool.Maximum.Megabytes = 1024 Database.Database.BufferPool.MM.Reads = 24 Database.Database.BufferPool.MM.Writes = 7 Database.Database.BufferPool.Peak.Megabytes = 1023 Database.Database.BufferPool.PerCentReadsInBuffer = 98.21

If the Database statistics Database.Database.BufferPool.PerCentReadsInBuffer is lower than 97%,then you should consider tuning this parameter.

> Show statDatabase.DbCache.* Database.DbCache.HighWaterMark = 2227 ... Database.DbCache.MaxEntries = 3072 ... Database.DbCache.OvercrowdingRejections = 0 Database.DbCache.Size = 10003

If the Database statistics DbCache.OvercrowdingRejections is high, then you should consider tuning this parameter.

SERVER: Concurrent Tasks
PUT INFO HERE

ROUTER: How many Mailboxes?
How many Mailboxes is necessary for my Domino Server

ROUTER: RouterDbCacheSize
Represents the number of entries allocated for the router database cache. If not used, the default is based on NSFBufferPoolSize (three per MB), i.e. three times bigger than NSFBufferPoolSize, and the maximum is capped to 20000 entries at startup, but reallocation may occur and the number of 20000 entries could exceed it. In brief: it represents a cache of opened mail database handles.

CLUSTER: Cluster Replicator
To prevent the replicas of the cluster de-synchronized, increasing the amount of tasks clrepl through the Notes.ini variable

Example

Para saber se é necessário alterar este parâmetro, execute o seguinte comando > show stat replica.cluster.* ... Replica.Cluster.SCR.QueueDepth.Avg = 0 Replica.Cluster.SCR.QueueDepth.Max = 155 ... Replica.Cluster.SecondsOnQueue = 2 Replica.Cluster.SecondsOnQueue.Avg = 18 Replica.Cluster.SecondsOnQueue.Max = 2558 ... Replica.Cluster.WorkQueueDepth = 0 Replica.Cluster.WorkQueueDepth.Avg = 13 Replica.Cluster.WorkQueueDepth.Max = 698

= Ver também =


 * IBM Domino: Monitoring the health of you Domino Server using HTTP and show stats


 * Mais artigos sobre IBM Domino e Notes
 * More articles about IBM Domino e Notes