Analyse du pourcentage d'utilisation du pool de mémoires tampons du serveur MySQL

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

Knowledge Base article:

Résumé

Pourcentage du pool de mémoires tampons actuellement utilisé. Le pool de mémoires tampons InnoDB contient les blocs d'index les moins récemment utilisés. La taille du pool de mémoires tampons est contrôlée par la variable globale « innodb_buffer_pool_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 d'utilisation du pool de mémoires tampons InnoDB est élevé. Le pool de mémoires tampons ne dispose peut-être pas de suffisamment d'espace pour héberger tous les blocs insérés.

Résolutions

Pour résoudre les problèmes liés à des pourcentages d'utilisation du pool de mémoires tampons élevés, augmentez la taille du pool de mémoires tampons en modifiant la variable « innodb_buffer_pool_size » dans le fichier de configuration.

Configuration

Configuration par défaut

Paramètre

Valeur par défaut

Seuil d'avertissement

Supérieur à 80

Seuil d'erreur

Supérieur à 95

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.InnoDBPerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Pourcentage d'utilisation du pool de mémoires tampons InnoDB du serveur MySQL
Le pourcentage d'utilisation du pool de mémoires tampons InnoDB actuel ({0} \%) pour le serveur MySQL est élevé
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.InnoDB_BufferPool_UsePct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.InnoDBPerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.InnoDB_BufferPool_UsePct.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>InnoDB Buffer Pool 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(.)='IDB_BP_UsePct']$</Value>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>