Analyse du pourcentage de nettoyages du cache de requêtes du serveur MySQL

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

Knowledge Base article:

Résumé

Pourcentage de nettoyages du cache de requêtes. Le nettoyage du cache de requêtes se produit lorsque celui-ci est plein. Dans ce cas, la requête la moins récemment utilisée est nettoyée. La taille du cache de requêtes est contrôlée par la variable globale « query_cache_size ». Le seuil d'analyse est comparé à la moyenne des valeurs retournées sous forme de sondages à l'agent, où le paramètre Nombre d'échantillons contrôle le nombre d'échantillons inclus dans le calcul de la moyenne.

Causes

Un état non intègre indique que le pourcentage de nettoyages du cache de requêtes est élevé. Le cache de requêtes ne dispose peut-être pas de suffisamment d'espace de stockage pour les requêtes récemment utilisées. La limite du cache de requêtes pour les requêtes individuelles peut être trop élevée, entraînant davantage de nettoyages.

Résolutions

Pour résoudre les problèmes liés à des pourcentages de nettoyages de requêtes élevés, augmentez query_cache_size pour permettre de stocker davantage de requêtes. Le fait de diminuer query_cache_limit peut permettre de remplir le cache de requêtes avec davantage de requêtes avant un nettoyage.

Configuration

Configuration par défaut

Paramètre

Valeur par défaut

Seuil d'avertissement

Supérieur à 70

Seuil d’erreur

Supérieur à 80

Nombre d'échantillons

3

Les remplacements permettent de modifier les valeurs de paramètre définies ci-dessus pour toutes les instances ou pour des instances ou groupes spécifiques.

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
Pourcentage de nettoyages du cache de requêtes du serveur MySQL
Le pourcentage de nettoyages du cache de requêtes actuel ({0} \%) pour le serveur MySQL est élevé
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>