Lotus Domino: Tuning English: Difference between revisions
(23 intermediate revisions by the same user not shown) | |||
Line 18: | Line 18: | ||
= GENERAL = | = GENERAL = | ||
== '''GENERAL:''' | == '''GENERAL:''' Update Index and Full Text == | ||
Tuning tips for Index and FullText | |||
'''UPDATE_FULLTEXT_THREAD'''=1 | |||
'''UPDATE_IDLE_TIME'''=4 | |||
'''FTG_USE_SYS_MEMORY'''=1 | |||
'''FTUPDATE_IDLE_TIME'''=4 | |||
'''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 | '''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: | 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 . | .NSF, .NTF , .SYS, .PAG, .IMG , .WAV , .GIF, .JPG, .DLL, .TAR, .EXE , .ZIP, .AU , .MPG, .MOV, .MP3 . | ||
== '''GENERAL:''' Disable BCC group expansion == | == '''GENERAL:''' Disable BCC group expansion == | ||
Line 50: | Line 39: | ||
[http://www-10.lotus.com/ldd/dominowiki.nsf/dx/disable_bcc_group_expansion DISABLE_BCC_GROUP_EXPANSION] | [http://www-10.lotus.com/ldd/dominowiki.nsf/dx/disable_bcc_group_expansion DISABLE_BCC_GROUP_EXPANSION] | ||
== '''GENERAL:''' Reduce log == | |||
Reduce log output and write to log.nsf | |||
LOG_MAILROUTING=10 | |||
LOG_SESSIONS=0 | |||
Log_replication=0 | |||
== '''HTTP:''' Cache Design Elements == | == '''HTTP:''' Cache Design Elements == | ||
Line 205: | Line 200: | ||
== Disk Queue == | == Disk Queue == | ||
{| border="1" | |||
| | |||
'''Tune''' | |||
| | |||
Put more disk spindles | |||
|- | |||
| | |||
'''Statistics''' | |||
| | |||
* Server.Path.Data | |||
* Platform.LogicalDisk.X.AvgQueueLen.Avg | |||
* Platform.LogicalDisk.X.AvgQueueLen.Peak | |||
|- | |||
| | |||
'''Interpretation''' | |||
| | |||
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 | 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 | ||
* > 1 = Not Good | |||
* > 2 = Bad | |||
|- | |||
| | |||
'''Reference''' | |||
| | |||
How to check Notes Traveler Performance when hosted on a VM http://www-01.ibm.com/support/docview.wss?uid=swg21615973 | How to check Notes Traveler Performance when hosted on a VM http://www-01.ibm.com/support/docview.wss?uid=swg21615973 | ||
|} | |||
= | == Full Text Search == | ||
{| border="1" | |||
| | |||
'''Tune''' | |||
| | |||
... | |||
|- | |||
| | |||
'''Statistics''' | |||
| | |||
* FT.Search.Average.TimeMS | |||
|- | |||
| | |||
'''Interpretation''' | |||
| | |||
Average full text search time in milliseconds | |||
* < 1000 = Good | |||
* > 3000 = Bad | |||
* > 5000 = Very Bad | |||
|- | |||
| | |||
'''Reference''' | |||
| | |||
|} | |||
= TRAVELER = | |||
Migrated to [[Lotus Traveler: Tuning English]] | |||
[ | |||
[ | |||
= SERVER = | |||
== '''SERVER:''' NSF Buffer Pool == | == '''SERVER:''' NSF Buffer Pool == | ||
Line 314: | Line 284: | ||
'''Interpretation''' | '''Interpretation''' | ||
| | | | ||
Database.Database.BufferPool.PerCentReadsInBuffer: | |||
* 89% < Bad | * 89% < Bad | ||
* 90% = OK | * 90% = OK | ||
Line 377: | Line 349: | ||
* Good = HighWaterMark < MaxEntries | * Good = HighWaterMark < MaxEntries | ||
* Good = 0 OvercrowdingRejections | * Good = 0 OvercrowdingRejections | ||
* Good = CurrentEntries < MaxEntries | |||
|- | |- | ||
Line 406: | Line 379: | ||
If the Database statistics DbCache.OvercrowdingRejections is high, then you should consider tuning this parameter. | If the Database statistics DbCache.OvercrowdingRejections is high, then you should consider tuning this parameter. | ||
== '''SERVER:''' Increase Name Lookup Cache == | == '''SERVER:''' Increase Name Lookup Cache == | ||
Line 433: | Line 404: | ||
* Database.NAMELookupCacheMaxSize | * Database.NAMELookupCacheMaxSize | ||
or you can use | |||
'''show nlcache''' | |||
[59600:00010-3163281152] NLCache version 4 | |||
[59600:00010-3163281152] CacheLookups: 7,744,563 | |||
[59600:00010-3163281152] CacheHits: 1,805,913 | |||
[59600:00010-3163281152] CacheMisses: 3,202,857 | |||
[59600:00010-3163281152] CacheNoHitHits: 2,735,793 | |||
[59600:00010-3163281152] CacheResets 0 | |||
[59600:00010-3163281152] Maximum Cache Size: 268,435,456 | |||
[59600:00010-3163281152] CacheSize: 41,581,976 6961 entries in Data Hash Table | |||
[59600:00010-3163281152] HashSize: 1,639,776 25 entries in View Hash Table | |||
[59600:00010-3163281152] CacheHitRate: 58 % | |||
|- | |- | ||
Line 457: | Line 443: | ||
| | | | ||
P.s.: Tip by @DanSilva | |||
NLCACHE_SIZE=67108864 | |||
Resolving the problem | |||
* Increase the Namelookup cache to 128 MB using the following Notes.ini parameter: | |||
NLCache_Size=134217728. ** Note default size in 8.5.3 64 Bit is 64 MB prior to this the default size was 16 MB. | |||
* Make sure the ODS of the names,nsf is 51. In one case, the ODS was 43 and NLcache was set to 64MB | |||
* Additional Info: Nlcache_size can be increased above 256 MB for 64 bit domino but should be increased with precaution and after consulting Lotus support. | |||
* If you are concerned with this statistic you should review the Domino Server stats. | |||
Issue the following command via the Server Console: | |||
Show Stat database.* | |||
Review these results. | |||
Database.NAMELookupCacheMaxSize | |||
Database.NAMELookupCachePool.Used | |||
If used is near max size you may need to increase the pool accordingly. | |||
[http://www-01.ibm.com/support/docview.wss?uid=swg21470902 Technote 1470902] | |||
[http://www.ibm.com/developerworks/lotus/library/ls-D6_Dir/index.html Domino 6 directory performance improvements] | |||
|} | |||
== '''SERVER:''' Concurrent Tasks == | == '''SERVER:''' Concurrent Tasks == | ||
Line 504: | Line 515: | ||
|} | |} | ||
== '''UPDATERS:''' Updall Tasks == | |||
PUT INFO HERE | |||
{| border="1" | |||
| | |||
'''Tune''' | |||
| | |||
* UPDATERS = n | |||
|- | |||
| | |||
'''Statistics''' | |||
| | |||
* Update.PendingList | |||
* UpdateN.PendingList | |||
* Update.DeferredList | |||
* UpdateN.DeferredList | |||
|- | |||
| | |||
'''Interpretation''' | |||
| | |||
* Excellent = 0 | |||
* Good < 100 | |||
Update.DeferredList | |||
: * Excellent = 0 | |||
: * Good < 30 | |||
: * Not Good > 40 | |||
: * Bad > 200 | |||
|- | |||
| | |||
'''Example''' | |||
| | |||
NA | |||
|- | |||
| | |||
'''Reference''' | |||
| | |||
https://www-01.ibm.com/support/docview.wss?uid=swg21258366 | |||
|} | |||
== '''PLATAFORM:''' Platform Paging File == | == '''PLATAFORM:''' Platform Paging File == | ||
Line 520: | Line 575: | ||
| | | | ||
* Platform.PagingFile.Total.PctUtil | * Platform.PagingFile.Total.PctUtil | ||
* Platform.PagingFile.Total.PctUtil.Avg | |||
|- | |- | ||
| | | | ||
Line 539: | Line 594: | ||
NA | NA | ||
|} | |} | ||
== '''PLATAFORM:''' Platform Disk == | == '''PLATAFORM:''' Platform Disk == | ||
Line 713: | Line 766: | ||
Replica.Cluster.WorkQueueDepth.Max = 698 | Replica.Cluster.WorkQueueDepth.Max = 698 | ||
= Ver também = | |||
* [[IBM Domino: Monitoring the health of you Domino Server using HTTP and show stats]] | |||
* [[Lotus Domino e Notes| Mais artigos sobre IBM Domino e Notes]] | * [[Lotus Domino e Notes| Mais artigos sobre IBM Domino e Notes]] | ||
* [[Lotus Domino e Notes| More articles about IBM Domino e Notes]] | |||
[[Category: IBM Domino]] | [[Category: IBM Domino]] | ||
[[Category: Lotus Domino]] | [[Category: Lotus Domino]] | ||
[[Category: Traveler]] |
Latest revision as of 01:03, 26 June 2019
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
- Have an implementation plan
- Know your infrastructure
- Divide the compounds
- Platform
- Notes Mail Statistics
- Network report
- Server Load Statistics
- Have a baseline reference
GENERAL
GENERAL: Update Index and Full Text
Tuning tips for Index and FullText
UPDATE_FULLTEXT_THREAD=1 UPDATE_IDLE_TIME=4 FTG_USE_SYS_MEMORY=1 FTUPDATE_IDLE_TIME=4 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
GENERAL: Reduce log
Reduce log output and write to log.nsf
LOG_MAILROUTING=10 LOG_SESSIONS=0 Log_replication=0
HTTP: Cache Design Elements
To optimize the response time keeps Domino design elements in memory.
Tune |
To change the parameters of Web Cache, Open the server document and go Internet Protocols → Domino Web Engine → Memory Caches. and change the field value
| ||||
Statistics |
| ||||
Interpretation |
| ||||
Reference |
http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21286171 |
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.
Tune |
To change the parameters of Web Cache, Open the server document and go Internet Protocols → Domino Web Engine → Memory Caches. and change the field value
| ||||
Statistics |
| ||||
Interpretation |
| ||||
Reference |
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
Tune |
Put more disk spindles |
Statistics |
|
Interpretation |
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
|
Reference |
How to check Notes Traveler Performance when hosted on a VM http://www-01.ibm.com/support/docview.wss?uid=swg21615973 |
Full Text Search
Tune |
... |
Statistics |
|
Interpretation |
Average full text search time in milliseconds
|
Reference |
TRAVELER
Migrated to Lotus Traveler: Tuning English
SERVER
SERVER: NSF Buffer Pool
Buffering Database I/O
Tune |
NSF_Buffer_Pool_Size_MB=n
|
Statistics |
|
Interpretation |
Database.Database.BufferPool.PerCentReadsInBuffer:
|
Reference |
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
Tune |
NSF_DbCache_Maxentries=X |
Statistics |
|
Interpretation |
|
Reference |
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: Increase Name Lookup Cache
Tune |
To implement, set the notes.ini parameter NLCACHE_SIZE equal to the number of bytes you want the maximum cache size to be. |
Statistics |
or you can use show nlcache [59600:00010-3163281152] NLCache version 4 [59600:00010-3163281152] CacheLookups: 7,744,563 [59600:00010-3163281152] CacheHits: 1,805,913 [59600:00010-3163281152] CacheMisses: 3,202,857 [59600:00010-3163281152] CacheNoHitHits: 2,735,793 [59600:00010-3163281152] CacheResets 0 [59600:00010-3163281152] Maximum Cache Size: 268,435,456 [59600:00010-3163281152] CacheSize: 41,581,976 6961 entries in Data Hash Table [59600:00010-3163281152] HashSize: 1,639,776 25 entries in View Hash Table [59600:00010-3163281152] CacheHitRate: 58 %
|
Interpretation |
Neither value should have reached Database.NAMELookupCacheMaxSize. If the numbers are close, increase the cache size |
Example |
NA |
Reference |
P.s.: Tip by @DanSilva NLCACHE_SIZE=67108864 Resolving the problem
NLCache_Size=134217728. ** Note default size in 8.5.3 64 Bit is 64 MB prior to this the default size was 16 MB.
Issue the following command via the Server Console: Show Stat database.* Review these results. Database.NAMELookupCacheMaxSize Database.NAMELookupCachePool.Used If used is near max size you may need to increase the pool accordingly. |
SERVER: Concurrent Tasks
PUT INFO HERE
Tune |
|
Statistics |
|
Interpretation |
|
Example |
NA |
Reference |
UPDATERS: Updall Tasks
PUT INFO HERE
Tune |
|
Statistics |
|
Interpretation |
Update.DeferredList
|
Example |
NA |
Reference |
PLATAFORM: Platform Paging File
Tune |
|
Statistics |
|
Interpretation |
|
Example |
NA |
Reference |
NA |
PLATAFORM: Platform Disk
Tune |
By several parameters (bufferpool, cache, namelookup ... |
Statistics |
Platform.LogicalDisk.1.AssignedName=C points to the disk |
Interpretation |
|
Reference |
NA |
ROUTER: How many Mailboxes?
How many Mailboxes is necessary for my Domino Server
Tune |
Configuration Document |
Statistics |
|
Interpretation |
|
Reference |
NA |
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.
Tune |
RouterDbCacheSize |
Statistics |
|
Interpretation |
|
Reference |
NA |
CLUSTER: Cluster Replicator
To prevent the replicas of the cluster de-synchronized, increasing the amount of tasks clrepl through the Notes.ini variable
Tune |
CLUSTER_REPLICATORS=X |
Statistics |
|
Interpretation |
|
Reference |
NA |
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