Monitor da Percentagem de Utilização da Cache da Consulta do Servidor MySQL

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

Knowledge Base article:

Resumo

A percentagem de utilização da cache da consulta. A cache da consulta armazena os conteúdos de uma declaração específica com os resultados correspondentes; esses resultados são invalidados após uma declaração de inserção, atualização ou eliminação. O tamanho da cache da consulta é controlado com a variável global "query_cache_size". O tamanho de uma consulta que pode ser inserida na cache da consulta é controlado pela variável global "query_cache_limit". O limiar do monitor é comparado com a média dos valores devolvidos nas consultas ao agente e o número de amostras incluídas no cálculo da média é controlado pelo parâmetro Número de Amostras.

Causas

Um estado de funcionamento incorreto indica que a percentagem de utilização da cache da consulta MySQL é elevada. A cache da consulta poderá não ter armazenamento suficiente para as consultas recentemente utilizadas. O limite da cache da consulta para consultas individuais poderá ser demasiado alto, o que causa uma maior percentagem de utilização e menos consultas armazenadas.

Resoluções

Para resolver uma percentagem elevada de utilização da cache da consulta, aumente query_cache_size para permitir que sejam armazenadas mais consultas. Reduzir query_cache_limite pode permitir que sejam armazenadas mais consultas na cache da consulta.

Configuração

Configuração Predefinida

Parâmetro

Valor Predefinido

Limiar de Aviso

Maior que 85

Limiar de Erros

Maior que 95

Número de Amostras

3

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

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
Percentagem de Utilização da Cache da Consulta do Servidor MySQL
A Percentagem de Utilização da Cache da Consulta atual ({0}\%) para o Servidor MySQL está elevada
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.QueryCacheUsePct.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.QueryCacheUsePct.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 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(.)='QCacheUsePct']$</Value>
<WarningThreshold>85</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>