MySQL Server Anahtar Önbelleği Yazma Yüzdesi İzleyicisi

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

Knowledge Base article:

Özet

Anahtar önbelleğine anahtar bloğu yazma isteklerine karşılık diske fiziksel olarak anahtar bloğu yazma 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, diske yazmalara karşılık anahtar önbelleğine yazmaların yüzdesinin düşük olduğunu gösterir. Anahtar önbelleğinin tüm anahtar bloklarını tutacak kadar yeri olmayabilir. Anahtar önbelleği, en önce kullanılmış algoritmaya göre güncelleştirilir.

Çözümlemeler

Düşük anahtar önbelleği isabet yüzdesi sorununu gidermek için yapılandırma dosyasındaki key_buffer_size değerini artı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

90'dan küçük

Hata Eşiği

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