MySQL Server Anahtar Önbelleği Kullanım Yüzdesi İzleyicisi

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

Knowledge Base article:

Özet

Kullanılmakta olan anahtar önbelleğinin yüzdesi. MyISAM Anahtarı önbelleği, en çok kullanılan dizin bloklarını içeren bir veri yapısıdır. Anahtar önbelleğinin boyutu, ‘key_buffer_size’ genel değişkeni kullanılarak denetlenir. İzleme eşiği, yoklamalarda aracıya döndürülen değerlerin bir ortalamasına göre çözümlenir; burada Örnek Sayısı parametresi, ortalamanın hesaplanmasında kullanılan örneklerin sayısını denetler.

Nedenler

Sağlıksız bir durum, anahtar önbelleğinin kullanımda olan yüzdesinin yüksek olduğunu gösterir. Anahtar önbelleğinin son kullanılan anahtar bloklarını depolayacak yeterli alanı yoktur ve kullanılan en eski anahtar bloğunu bırakmaya devam eder.

Çözümler

Anahtar önbelleğinin yüksek kullanım yüzdesi sorununu çözmek için yapılandırma dosyasında key_buffer_size değerini arttırın. Bu işlem, örnek grubu seçenekleri bölümüne aşağıdaki satırla birlikte boyut eklenerek yapılabilir: “key_buffer_size= boyut”. Alternatif olarak, sunucu aşağıdaki seçenekle başlatılabilir: “--key_buffer_size=boyut”

Yapılandırma

Varsayılan Yapılandırma

Parametre

Varsayılan Değer

Uyarı Eşiği

70'ten büyük

Hata Eşiği

85'ten büyük

Örnek Sayısı

3

Geçersiz kılmalar, tüm örnekler veya belirli örnekler ya da gruplar için yukarıda tanımlanan parametre değerlerini değiştirmek üzere kullanılabilir.

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.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MySQL Server Anahtar Önbelleği Kullanım Yüzdesi
MySQL Server'ın geçerli Anahtar Önbelleği Kullanım Yüzdesi ({0}\%) düşük
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheUsePct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.KeyCachePerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheUsePct.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="UnderThreshold"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="StatusWarning" ID="OverWarningThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="StatusError" ID="OverErrorThreshold"/>
</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 Use 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(.)='KeyCacheUsePct']$</Value>
<WarningThreshold>70</WarningThreshold>
<ErrorThreshold>85</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>