Monitor de Porcentagem de Remoções do Cache de Consulta do Servidor MySQL

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

Knowledge Base article:

Resumo

A porcentagem de remoções do cache de consulta. A remoção do cache de consulta ocorre quando o cache de consulta está cheio e a consulta menos utilizada recentemente é removida. O tamanho do cache de consulta é controlado usando a variável global “query_cache_size”. O limite do monitor é analisado em relação a uma média de valores retornados em sondagens no agente, onde o parâmetro Número de Amostras controla o número de amostras incluídas no cálculo da média.

Causas

Um estado não íntegro indica que o percentual de remoções do cache de consulta está alto. O cache de consulta pode não ter armazenamento suficiente para consultas usadas recentemente. O limite do cache de consulta para consultas individuais pode estar muito alto e causando mais remoções.

Resoluções

Para resolver uma porcentagem alta de remoções de consultas, aumente o query_cache_size para permitir o armazenamento de consultas adicionais. Diminuir o query_cache_limit pode permitir o preenchimento de mais consultas no cache de consulta antes de uma remoção.

Configuração

Configuração Padrão

Parâmetro

Valor padrão

Limite de Aviso

Maior que 70

Limite de Erro

Maior que 80

Número de Amostras

3

As substituições podem ser usadas para alterar os valores de parâmetros definidos acima para todas as instâncias ou para instâncias ou grupos específicos.

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
Porcentagem de Remoções do Cache de Consulta do Servidor MySQL
A Porcentagem atual de Remoções do Cache de Consulta ({0}\%) do Servidor MySQL está alta
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>