MySQL-server, övervakning av nyckelcacheskrivning, i procent

Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheWritePct.Monitor (UnitMonitor)

Knowledge Base article:

Sammanfattning

Procentandelen fysiska skrivningar från ett nyckelblock till disk jämfört med begäranden om att skriva ett nyckelblock till nyckelcachen. MyISAM-nyckelcachen är en datastruktur som innehåller de mest använda indexblocken. Nyckelcachens storlek styrs med hjälp av den globala variabeln "key_buffer_size". Tröskelvärdet för övervakaren analyseras mot ett medeltal av de värden som returneras vid avsökningar till agenten, där parametern Antal prover styr antalet prov som tas med vid beräkning av medelvärdet.

Orsaker

Ett feltillstånd visar att procentandelen skrivningar till nyckelcachen jämfört med skrivningar till disk är låg. Nyckelcachen kanske inte har tillräckligt mycket utrymme för att lagra alla nyckelblock. Nyckelcachen uppdateras med den äldsta algoritmen.

Lösningar

Åtgärda en låg procentandel nyckelcacheträffar genom att öka key_buffer_size i konfigurationsfilen. Detta kan göras genom att lägga till följande rad tillsammans med storlek under instansgruppens alternativ: "key_buffer_size= storlek". Som alternativ kan servern startas med följande alternativ: "--key_buffer_size=storlek"

Konfiguration

Standardkonfiguration

Parameter

Standardvärde

Varningströskelvärde

Större än 90

Feltröskelvärde

Större än 80

Antal insamlingar

3

Åsidosättningar kan användas för att ändra parametervärden som har definierats ovan för alla instanser eller för specifika instanser eller grupper.

Element properties:

TargetMicrosoft.MySQLServer.ManagedServer.Unix
Parent MonitorMicrosoft.MySQLServer.KeyCachePerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.LessThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MySQL-server, nyckelcacheskrivning i procent
Aktuellt procenttal för nyckelcacheskrivning ({0}\%) för MySQL-servern är lågt
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheWritePct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.LessThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.KeyCachePerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheWritePct.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="StatusOK" ID="OverThreshold"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="StatusWarning" ID="UnderWarningThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="StatusError" ID="UnderErrorThreshold"/>
</OperationalStates>
<Configuration>
<Interval>300</Interval>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/MySQL_ServerStatistics?__cimnamespace=root/mysql</Uri>
<WSManFilter/>
<ObjectName>MySQL Server</ObjectName>
<CounterName>Key Cache Write Pct</CounterName>
<InstanceXPath>/DataItem/WsManData/*[local-name(.)='MySQL_ServerStatistics']/*[local-name(.)='InstanceID']</InstanceXPath>
<InstanceName>$Target/Property[Type="Microsoft.MySQLServer.Installation"]/InstanceID$</InstanceName>
<Value>$Data/WsManData/*[local-name(.)='MySQL_ServerStatistics']/*[local-name(.)='KeyCacheWritePct']$</Value>
<WarningThreshold>90</WarningThreshold>
<ErrorThreshold>80</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>