Monitor da Percentagem de Acertos na Cache da Tabela do Servidor MySQL

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

Knowledge Base article:

Resumo

A percentagem de número de esperas para obter um bloqueio na tabela MyISAM em relação ao número de bloqueios pedidos. O MySQL utiliza um bloqueio ao nível da tabela para as tabelas MyISAM, MEMORY e MERGE. 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 da taxa de acertos na cache da tabela é baixa. A cache da tabela poderá não ter armazenamento suficiente para manter as tabelas abertas. Além disso, uma quantidade excessiva de ligações simultâneas poderá causar um rápido decréscimo do armazenamento da cache de tabela.

Resoluções

Para resolver uma percentagem baixa de acertos nas tabelas, aumente table_cache_size para permitir que sejam armazenadas mais tabelas.

Configuração

Configuração Predefinida

Parâmetro

Valor Predefinido

Limiar de Aviso

Menor que 80

Limiar de Erros

Menor que 70

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.TableCachePerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.LessThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Percentagem de Acertos na Cache da Tabela do Servidor MySQL
A Percentagem de Acertos na Cache da Tabela atual ({0}\%) para o Servidor MySQL está baixa
RunAsDefault

Source Code:

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