Monitor del porcentaje de recorridos de tabla completos del servidor MySQL
El porcentaje de análisis de tabla completa realizados en el servidor MySQL. El análisis de tabla completa tiene lugar cuando el servidor comprueba secuencialmente la validez de una condición en cada fila de la tabla. Los análisis de tabla completa pueden producirse con frecuencia en tablas con un número de filas reducido. El umbral de monitor se analiza con el promedio de valores devueltos en sondeos realizados al agente, donde el parámetro de número de muestras controla el número de muestras incluidas en el cálculo del promedio.
Un estado incorrecto indica que el porcentaje de análisis de tabla completa es alto. Los análisis de tabla completa pueden producirse en tablas con menos de 10 filas o una longitud corta de filas. Los análisis de tabla completa pueden producirse también al comparar columnas indizadas con valores constantes.
Para hacer frente a un porcentaje alto de análisis de tabla, pruebe lo siguiente:
Optimizar la consulta MySQL que ejecuta análisis de tabla completa
Utilizar el comando MySQL “ANALYZE TABLE tbl_name” para actualizar las distribuciones de claves
Utilizar la opción MySQL en el comando “FORCE INDEX” para establecer manualmente la no participación en el optimizador MySQL para el índice determinado
Cambiar la variable ‘max_seeks_for_key’ a un valor que refleje las búsquedas necesarias para recuperar datos
Configuración predeterminada
Parámetro | Valor predeterminado |
Umbral de advertencia | Superior a 80 |
Umbral de error | Superior a 95 |
Número de muestras | 3 |
Se pueden usar invalidaciones para cambiar los valores de parámetros definidos anteriormente para todas las instancias o para instancias o grupos específicos.
Target | Microsoft.MySQLServer.ManagedServer.Unix | ||
Parent Monitor | Microsoft.MySQLServer.RowOperationsPerformanceRollup | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.FullTableScanPct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.RowOperationsPerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.FullTableScanPct.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>Full Table Scan 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(.)='FullTableScanPct']$</Value>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>