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.
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.
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”
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.
Target | Microsoft.MySQLServer.ManagedServer.Unix | ||
Parent Monitor | Microsoft.MySQLServer.KeyCachePerformanceRollup | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSManEnumeration.LessThanThreshold.ThreeState.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>