MySQL Server Sorgu Önbelleği Ayıklama Yüzdesi İzleyicisi

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

Knowledge Base article:

Özet

Sorgu önbelleğinden ayıklamaların yüzdesi. Sorgu önbelleği ayıklama, sorgu önbelleği dolduğu ve en önce kullanılmış sorgu ayıklandığında oluşur. Sorgu önbelleğinin boyutu “query_cache_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, sorgu önbelleği ayıklama yüzdesinin yüksek olduğunu gösterir. Sorgu önbelleğinde, son kullanılan sorgular için yeterli depolama alanı olmayabilir. Ayrı ayrı sorgular için sorgu önbelleği sınırı çok yüksek olup ayıklamaya neden oluyor olabilir.

Çözümler

Yüksek sorgu ayıklama yüzdesi sorununu çözmek için, query_cache_size değerini ek sorguların depolanmasına izin verecek şekilde arttırın. query_cache_limit değerinin azaltılması sorguların sorgu önbelleğini bir ayıklamadan önce doldurmasına izin verebilir.

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

80'den 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.QueryCachePerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MySQL Server Sorgu Önbelleği Ayıklama Yüzdesi
MySQL Server'ın geçerli Sorgu Önbelleği Ayıklama Yüzdesi ({0}\%) düşük
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.QueryCachePrunesPct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.QueryCachePerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.QueryCachePrunesPct.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>Query Cache Prunes 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(.)='QCachePrunesPct']$</Value>
<WarningThreshold>70</WarningThreshold>
<ErrorThreshold>80</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>