Top Banner
Marco Hiltebrand (Lead IT, RICOH SCHWEIZ AG)
34

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

Jul 17, 2015

Download

Software

panagenda
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz

Marco Hiltebrand (Lead IT, RICOH SCHWEIZ AG)

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

2

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

3

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

4

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

5

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

6

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

7

IBM Connections

IBM Notes

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

8

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

10

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

11

• Admin Client

• Server auswählen Server tab Statistics Subtab

• Theoretisch auch Server Status Server Console

sh sta

oder auch

„sh sta mail“ oder sh „sta mail.trans*“

• Servertasks

• Statistics Log Task (statlog)

• Cataloger Task (catalog)

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

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

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

13

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

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 of Memory“ 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!

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

15

Viele der nachfolgenden Statistiken sind mit einem „einmaligen“ ‚sh sta‘ 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 Sie

sich mit dem Admin Client

behelfen …

Ohne Einschränkungen geht

es nur mit hohem manuellen

Aufwand oder Zusatz-Lösungen

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

16

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

17

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

18

ViewRebuildDir & Disk Optimierungen

• Allem voran: freier Plattenplatz(„30%“ um Fragmentierung zu vermeiden)

• Jeweils eigene Disks für …

– Translog

– Data

– Ggf. page file/OS eigene disk

– „ViewRebuildDir“=…view indexing auf eigene disk

– Ab 8.5.3. ggf. .ft-Verzeichnisse(so nötig/gewünscht)

– DAOS („günstig“)

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

19

Server.Availability

• Sagt in % aus wie verfügbar = „antwortbereit“ ein Server ist (response times)

• 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: ‚sh ai‘ 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.ncf löschenwenn Server runter-gefahren ist, um alteWerte zu löschen

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

20

Monitor.* Warnungen im Auge behalten; Beispiele

• Monitor.Last.ADMIN PROCESS.Warning(High)Text = Disk space statisticscould not be found on Servername/Cert.

• Monitor.Last.EVENT MONITOR.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.INDEX ALL.Warning(High)Text = Error updating view '#4538' inmail\nameabc.nsf: The single copy template associated with this databasecannot be located.

• Monitor.Last.SMTP SERVER.FailureText = SMTP Server: Initializationfailure: Message Queue name already in use.

• Monitor.Last.STATISTICS.Warning(High)Text = Unable to update activitydocument in log database for mail\namexyz.nsf: In Datenbank kann nichtgeschrieben werden, da die Datenbank die erlaubte Größeüberschreiten würde.

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

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 # of users setzen

„anderes“

Problem

„Drop all“

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

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

InterpretationGUT < 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ösungDiverse Parameter (bufferpool, cache, namelookup), und OS / Disk Tuning

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

23

Platform.LogicalDisk.#.PctUtil

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

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

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

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:

• Wenn Sie viele Anwendungen haben …

• … und einen vielbeschäftigtenUpdate Task

– View updates sind beeinträchtigt, solange Full Text Index Aktualisierungen in Arbeit sind

• FTI Update von View Update trennen– FTI erfolgt dann in eigenem Memory Thread

• Verbessert Performance

• Update_Fulltext_Thread=1

Wenn wir schon beim Thema Volltext-Index sind:Sie können den FTI thread aus dem limitierten Domino update pool isolieren:

ftg_use_sys_memory=1Der FTI thread bekommt dann Memory vom OS pool

Gibt Domino System Memory frei

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

26

Database.Database.BufferPool.*

• Database.Database.BufferPool.PerCentReadsInBuffer = 78,96

• SCHLECHT < 90% < PercentReadsInBuffer < 98% < PERFEKT

• 99.9% ist schlecht ...– Führt meist dazu, dass zuviele Anfragen 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

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

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

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

28

Replica.Cluster.*

• Replica.Cluster.FailedReplica.Cluster.SecondsOnQueueReplica.Cluster.WorkQueueDepth

• PERFEKT < 10 < SecondsOnQueue > 15 > SCHLECHTPERFEKT < 10 < WorkQueueDepth > 15 > SCHLECHT

• Lösung:– Weitere Cluster Replikatoren

hinzufügen

– Auslastung der Cluster-Serveroptimieren (z.B. aktive Userim Cluster aufteilen /Load Balancing)

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

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 erzeugende User identifizieren (db usage-View!)

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

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

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

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 * Anzahl Ports)

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

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 ‚sh sta’ keine Platform.*Statistiken ausgibt Admin-Hilfe

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

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

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

34

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

35