Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Marco Hiltebrand(Lead IT, RICOH SCHWEIZ AG)
2
3 
• 
• 
• 
• 
• 
• 
•  
• 
•
4 
• 
• 
• 
• 
• 
• 
•  
• 
•
5 
• 
• 
• 
•
6
7 
IBM Connections 
IBM Notes
8
10
11 
•Admin Client 
•Server auswählen Server tabStatisticsSubtab 
•Theoretisch auch Server Status Server Console sh st...
12 
Es gibt vier Arten von Statistiken: 
•Statische Statistiken, die sich nach einem Serverstart nicht ändern 
•z.B. Disk....
13
14 
Schwer bis nicht unter Laborbedingungen testbar 
Fangen Sie mit offensichtlichen / einfachen Dingen an 
Notieren Sie s...
15 
Viele der nachfolgenden Statistiken sind mit einem „einmaligen“ ‚shsta‘ nicht ausreichend erfassbar; die Werte sollten...
16
17
18 
ViewRebuildDir& Disk Optimierungen 
•Allem voran: freier Plattenplatz(„30%“ um Fragmentierung zu vermeiden) 
•Jeweils ...
19 
Server.Availability 
•Sagt in % aus wie verfügbar = „antwortbereit“ ein Server ist (responsetimes) 
•Spätestens ab < 3...
20 
Monitor.* Warnungen im Auge behalten; Beispiele 
•Monitor.Last.ADMINPROCESS.Warning(High)Text = Disk space statisticsc...
21 
Server.Sessions.Dropped 
•Gibt an, wie oft seit dem letzten Serverstart Sessions ‚gedropped‘ wurden 
•Verursacht durch...
22 
Platform.LogicalDisk.* 
Platform.LogicalDisk.1.AssignedName = DPlatform.LogicalDisk.1.AvgQueueLen = 0Platform.LogicalD...
23 
Platform.LogicalDisk.#.PctUtil
24 
Mail.Mailbox.* 
•(Mail.Mailbox.AccessConflicts/Mail.Mailbox.Accesses) x 100 
•Muss < 2 sein; ansonsten eine weitere Ma...
25 
Update.PendingList 
•Update.PendingList= Anzahl von Ansichten die auf Aktualisierung warten 
•WennUpdate.PendingList„l...
26 
Database.Database.BufferPool.* 
•Database.Database.BufferPool.PerCentReadsInBuffer= 78,96 
•SCHLECHT < 90% < PercentRe...
27 
Database.DbCache.* 
•Database.DbCache.CurrentEntries= 1647Database.DbCache.HighWaterMark= 1691Database.DbCache.MaxEntr...
28 
Replica.Cluster.* 
•Replica.Cluster.FailedReplica.Cluster.SecondsOnQueueReplica.Cluster.WorkQueueDepth 
•PERFEKT < 10 ...
29 
Server.Trans.PerMinute 
•Server.Trans.PerMinute=956Server.Users= 26 956/26=36,7 
•HEAVY < 30 < Trans.PerMinute(per Us...
30 
Database.NAMELookupCache* 
•Database.NAMELookupCacheCacheSize= 2.513.328Database.NAMELookupCacheHits= 24.628.339Databa...
31 
Server.ConcurrentTasks* 
•Server.ConcurrentTasksServer.ConcurrentTasks.Waiting 
•Waiting sollte NULL sein 
•Lösung: ─ ...
32 
Platform.PagingFile.Total.* 
Platform.PagingFile.Total.PctUtil= 0,28Platform.PagingFile.Total.PctUtil.Avg= 0,14Platfor...
33 
DAOS. Object.Attach_DAOSCreate 
The number of attachments created in DAOS. 
DAOS. Object.Attach_DAOSOptimizedCreateLoc...
34
35
Upcoming SlideShare
Loading in …5
×

Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz

760 views

Published on

Ein IBM Domino Server stellt uns im Durchschnitt 1.200 Statistiken zur Verfügung.
Welche davon sind besonders wichtig? Welche Erkenntnisse und Maßnahmen lassen sich aus diesen Informationen ableiten?

Während unseres Streifzuges durch die wichtigsten Statistiken widmen wir uns unter anderem folgenden Themenbereichen: Server Performance und Auslastung, Cluster Performance, Disk Performance, Kapazitätsplanung / Konsolidierung, Replikation, Ansichts-Indizes, Volltext-Indizes,NameLookupCache, Database Buffer Pool & Caching, Mail-Statistiken, u.v.m.

Mit diversen Beispielen aus der Praxis bekommen Sie in dieser Session ein gutes - und bisweilen gar ganz neues - Bild von den vielen Informationen, die Ihnen ein Domino-Server im laufenden Betrieb zur Verfügung stellt. Zurück zu Hause verstehen Sie Ihre Domino-Server nach Besuch dieses Vortrages noch besser - und können so das Maximum aus Ihren Statistiken und Servern heraus holen.

Track 1.1: Technik - Administration: Dienstag, 11.11.2014

Published in: Software
  • Be the first to comment

  • Be the first to like this

Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz

  1. 1. Marco Hiltebrand(Lead IT, RICOH SCHWEIZ AG)
  2. 2. 2
  3. 3. 3 • • • • • • •  • •
  4. 4. 4 • • • • • • •  • •
  5. 5. 5 • • • •
  6. 6. 6
  7. 7. 7 IBM Connections IBM Notes
  8. 8. 8
  9. 9. 10
  10. 10. 11 •Admin Client •Server auswählen Server tabStatisticsSubtab •Theoretisch auch Server Status Server Console sh staoder auch„sh stamail“ oder sh „stamail.trans*“ •Servertasks •StatisticsLog Task (statlog) •CatalogerTask (catalog)
  11. 11. 12 Es gibt vier Arten von Statistiken: •Statische Statistiken, die sich nach einem Serverstart nicht ändern •z.B. Disk.D.Size, Server.Version.Notes •Momentaufnehmende Statistiken, die einen aktuellen Zustand beschreiben •z.B. Mem.Free, Server.AvailabilityIndex •Berechnete Statistiken (seit dem letzten Serverstart) •z.B. SMTP.SessionDuration.Ave/Max •Wachsende Statistiken (seit dem letzten Serverstart) •Mail.TotalKBTransferred.SMTP, Server.Trans.Total
  12. 12. 13
  13. 13. 14 Schwer bis nicht unter Laborbedingungen testbar Fangen Sie mit offensichtlichen / einfachen Dingen an Notieren Sie sich Einstellungen bevor Sie diese ändern Bedenken Sie mögliche Wechselwirkungen „Zuviel des Guten“ kann Performance verschlechtern, bis hin zu „Out ofMemory“ bedeuten Drehen Sie nicht an mehreren Schrauben gleichzeitig es sei denn, es ist absolut notwendig / so „dokumentiert“ Beobachten Sie Ihre Server nach Änderungen eine (sinnvolle) Zeit lang Werten Sie aus, ob es Ihrem Server besser geht „Google“ Denken Sie bitte mit Trauen Sie sich Das hier ist erst der Anfang –bleiben Sie neugierig!
  14. 14. 15 Viele der nachfolgenden Statistiken sind mit einem „einmaligen“ ‚shsta‘ nicht ausreichend erfassbar; die Werte sollten bzw. müssen auf einem Zeitstrahl ausgewertet werden Nur so ist greifbar, ob –und wann –es sich um dauerhafte / wiederkehrende Probleme handelt Nur so ist tatsächlich überprüfbar, ob Änderungen helfen oder nicht (oder „verschlimmbessern“) Ein Bild sagt mehr als tausend Worte … Mit (leider größeren) Einschränkungen können Siesich mit dem Admin Clientbehelfen … Ohne Einschränkungen gehtes nur mit hohem manuellenAufwand oder Zusatz-Lösungen
  15. 15. 16
  16. 16. 17
  17. 17. 18 ViewRebuildDir& Disk Optimierungen •Allem voran: freier Plattenplatz(„30%“ um Fragmentierung zu vermeiden) •Jeweils eigene Disks für … –Translog –Data –Ggf. pagefile/OS eigene disk –„ViewRebuildDir“=… viewindexingauf eigene disk –Ab 8.5.3. ggf. .ft-Verzeichnisse(so nötig/gewünscht) –DAOS („günstig“)
  18. 18. 19 Server.Availability •Sagt in % aus wie verfügbar = „antwortbereit“ ein Server ist (responsetimes) •Spätestens ab < 30% Verfügbarkeit wird es meistens problematisch; WENN denn der Availability-Indexüberhaupt stimmt … (Nur!) wenn der Server gut beschäftigt ist: ‚shai‘ auf Console; gibt Empfehlung zur Anpassung von SERVER_TRANSINFO_RANGE in notes.ini •Ab Notes 8.5 empfiehlt sich: –notes.ini: Server_MinPossibleTransTime=1500 –notes.ini: Server_MaxPossibleTransTime=20000000 Wichtig: loadmon.ncflöschenwennServer runter- gefahrenist, um alteWertezulöschen
  19. 19. 20 Monitor.* Warnungen im Auge behalten; Beispiele •Monitor.Last.ADMINPROCESS.Warning(High)Text = Disk space statisticscould not be found on Servername/Cert. •Monitor.Last.EVENTMONITOR.Warning(High)Text = Event: Error adding eventdocument to Domino Domain Monitoring: Event correlation cache is full. Youcan increase its size via the NOTES.INI settingEVENT_CORRELATION_POOL_SIZE. •Monitor.Last.INDEXALL.Warning(High)Text = Error updating view '#4538' inmailnameabc.nsf: The single copy template associated with this databasecannot be located. •Monitor.Last.SMTPSERVER.FailureText= SMTP Server: Initializationfailure: Message Queue namealreadyin use. •Monitor.Last.STATISTICS.Warning(High)Text = Unabletoupdate activitydocumentin log databaseformailnamexyz.nsf: In Datenbank kann nichtgeschrieben werden, da die Datenbank die erlaubte Größeüberschreiten würde.
  20. 20. 21 Server.Sessions.Dropped •Gibt an, wie oft seit dem letzten Serverstart Sessions ‚gedropped‘ wurden •Verursacht durch „Drop all“ und/oder Client-seitigem Ctrl+Break(Frust-/Problem-Indikator) •Server.Sessions.Dropped= 25407 •28.6. -18.10 = 4*30=120 Tage •25407/120=211 Sessions dropped/ day •Weiterführend in Verhältnis zu Peak # ofuserssetzen „anderes“ Problem „Drop all“
  21. 21. 22 Platform.LogicalDisk.* Platform.LogicalDisk.1.AssignedName = DPlatform.LogicalDisk.1.AvgQueueLen = 0Platform.LogicalDisk.1.AvgQueueLen.Avg = 0,01Platform.LogicalDisk.1.AvgQueueLen.Peak = 1,01Platform.LogicalDisk.1.BytesReadPerSec = 0Platform.LogicalDisk.1.BytesWrittenPerSec = 10.172,49Platform.LogicalDisk.1.PctUtil = 0,22Platform.LogicalDisk.1.PctUtil.Avg = 0,86Platform.LogicalDisk.1.PctUtil.Peak = 101,07Platform.LogicalDisk.1.ReadsPerSec = 0Platform.LogicalDisk.1.WritesPerSec = 2,07 Platform.LogicalDisk.2.AssignedName = CPlatform.LogicalDisk.2.AvgQueueLen = 0,01Platform.LogicalDisk.2.AvgQueueLen.Avg = 0,73Platform.LogicalDisk.2.AvgQueueLen.Peak = 34,74Platform.LogicalDisk.2.BytesReadPerSec = 17.272,75Platform.LogicalDisk.2.BytesWrittenPerSec = 63.697,52Platform.LogicalDisk.2.PctUtil = 1,11Platform.LogicalDisk.2.PctUtil.Avg = 72,8Platform.LogicalDisk.2.PctUtil.Peak = 3.473,81Platform.LogicalDisk.2.ReadsPerSec = 2,58Platform.LogicalDisk.2.WritesPerSec = 7,3 Interpretation GUT < 2% < AvgQueueLen> 5% > SCHLECHT (1-100% = 0,01 –1,0!) GUT = PctUtil< 80% (1-100% = 1-100) HINWEIS: ggf. durch # Spindeln zu dividieren SAN/NAS Lösung Diverse Parameter (bufferpool, cache, namelookup), und OS / Disk Tuning
  22. 22. 23 Platform.LogicalDisk.#.PctUtil
  23. 23. 24 Mail.Mailbox.* •(Mail.Mailbox.AccessConflicts/Mail.Mailbox.Accesses) x 100 •Muss < 2 sein; ansonsten eine weitere Mailbox(ab vier / fünf Mailboxen wird der „Benefit“ zunehmend geringer) •Beispiel: •Mail.Mailbox.AccessConflicts= 1636Mail.Mailbox.Accesses= 189864 •= 0,86 = ok
  24. 24. 25 Update.PendingList •Update.PendingList= Anzahl von Ansichten die auf Aktualisierung warten •WennUpdate.PendingList„laufend“ > 0, dann … •Notes.ini: Update_Fulltext_Thread=1FTUPDATE_IDLE_TIME=4 Hintergrund: •WennSievieleAnwendungenhaben… •… und einen vielbeschäftigtenUpdate Task –View updates sindbeeinträchtigt, solangeFull Text Index Aktualisierungenin Arbeitsind •FTI Update von View Update trennen –FTI erfolgtdannin eigenemMemory Thread •Verbessert Performance •Update_Fulltext_Thread=1 Wenn wir schon beim Thema Volltext-Index sind: Siekönnenden FTI thread ausdemlimitiertenDomino update pool isolieren: ftg_use_sys_memory=1 Der FTI thread bekommtdannMemory vomOS pool GibtDomino System Memory frei
  25. 25. 26 Database.Database.BufferPool.* •Database.Database.BufferPool.PerCentReadsInBuffer= 78,96 •SCHLECHT < 90% < PercentReadsInBuffer< 98% < PERFEKT •99.9% ist schlecht ... –Führt meist dazu, dass zuvieleAnfragen auf Disk rausgeschrieben werden –Der Server benötigt einen größeren BufferPool •Lösung: notes.ini NSF_Buffer_Pool_Size_MB=n (in MB) ─ Default: 512 MB
  26. 26. 27 Database.DbCache.* •Database.DbCache.CurrentEntries= 1647Database.DbCache.HighWaterMark= 1691Database.DbCache.MaxEntries= 1536Database.DbCache.OvercrowdingRejections= 0 •GUT = HighWaterMark< MaxEntriesGUT = 0 OvercrowdingRejections •Lösung: –notes.ini NSF_DbCache_MaxEntries= n •Default: NSF_BUFFER Pool size x 3
  27. 27. 28 Replica.Cluster.* •Replica.Cluster.FailedReplica.Cluster.SecondsOnQueueReplica.Cluster.WorkQueueDepth •PERFEKT < 10 < SecondsOnQueue> 15 > SCHLECHTPERFEKT < 10 < WorkQueueDepth> 15 > SCHLECHT •Lösung: –Weitere Cluster Replikatorenhinzufügen –Auslastungder Cluster-Serveroptimieren(z.B. aktiveUserimCluster aufteilen/ Load Balancing)
  28. 28. 29 Server.Trans.PerMinute •Server.Trans.PerMinute=956Server.Users= 26 956/26=36,7 •HEAVY < 30 < Trans.PerMinute(per User) > 10 > LIGHT •Lösung: –Last erzeugendeUser identifizieren(db usage-View!)
  29. 29. 30 Database.NAMELookupCache* •Database.NAMELookupCacheCacheSize= 2.513.328Database.NAMELookupCacheHits= 24.628.339Database.NAMELookupCacheMisses= 48.160.502 •WICHTIG: NoHitHits!  •Miss > Hits: PRÜFEN •Cache zu klein oder zu groß(!) ini: NLCache_Size=16000000
  30. 30. 31 Server.ConcurrentTasks* •Server.ConcurrentTasksServer.ConcurrentTasks.Waiting •Waiting sollte NULL sein •Lösung: ─ Server_Pool_Tasks= n ( z.B. 80) ─ Server_Max_Concurrent_Trans= m(z.B. Server_Pool_Tasks* AnzahlPorts)
  31. 31. 32 Platform.PagingFile.Total.* Platform.PagingFile.Total.PctUtil= 0,28Platform.PagingFile.Total.PctUtil.Avg= 0,14Platform.PagingFile.Total.PctUtil.Peak= 0,8 OK < 0% < PctUtil.Avg > 10% > SCHLECHT OS Level tuning, Check Memory Hinweis: Wenn‚shsta’ keinePlatform.* StatistikenausgibtAdmin-Hilfe
  32. 32. 33 DAOS. Object.Attach_DAOSCreate The number of attachments created in DAOS. DAOS. Object.Attach_DAOSOptimizedCreateLocal The number of attachments that did not need to be copied between Notes® applications located on the same Domino server (for example, copied from MAIL.BOX to a recipient's mail file) because the objects already existed in the DAOS repository. This statistic shows intra-server savings from optimization of object copying. DAOS. Object.Attach_DAOSOptimizedCreateRemote The number of attachments on the server that did not need to be sent over the network from remote clients or servers because the objects already existed in the DAOS repository. This statistic shows inter-server savings from optimization of object copying. DAOS. Object.Attach_NSFCreate The number of attachments created in the NSF because they did not qualify for storage in DAOS, typically because they were smaller than the DAOS minimum object size. DAOS. Object.Attach_TotalCreated Total number of attachments listed by the Object.Attach_DAOSCreate, Object.Attach_NSFCreate, Object.Attach_DAOSOptimizedCreateLocal, and Object.Attach_DAOSOptimizedCreateRemote statistics. DAOS.Object.CloneDeclined The number of times a DAOS network optimization request was denied DAOS.Object.CloneRequests The number of times a DAOS network optimization request was attempted DAOS.Object.Delete The number of attachment delete requests for attachments stored in DAOS
  33. 33. 34
  34. 34. 35

×