Percentuale di query soddisfatte dalla cache delle query. La cache delle query archivia il contenuto di un'istruzione SELECT con il risultato corrispondente. Questi risultati vengono invalidati dopo un'istruzione INSERT, UPDATE o DELETE. Le dimensioni della cache delle query sono controllate con la variabile globale "query_cache_size". Le dimensioni di una query che può essere inserita nella cache delle query sono controllate dalla variabile globale "query_cache_limit". La soglia di monitoraggio viene analizzata confrontandola con una media dei valori restituiti all'agente in forma di polling, dove il parametro Numero di campioni si riferisce al numero di campioni inclusi nel calcolo della media.
Uno stato non integro indica che la percentuale di query soddisfatte dalla cache delle query è bassa. La cache delle query potrebbe non avere spazio di archiviazione sufficiente per le query usate di recente. Inoltre, le istruzioni frequenti INSERT, UPDATE e DELETE ripuliscono la cache delle query.
Per risolvere il problema della bassa percentuale di riscontri nella cache delle query, aumentare il valore query_cache_size in modo da consentire l'archiviazione di ulteriori query. In alternativa, aumentare il valore query_cache_limit per consentire l'archiviazione di query di dimensioni maggiori nella cache delle query se la maggior parte delle query supera tale limite. Entrambe queste variabili possono essere modificate aggiungendo il rispettivo nome della variabile seguito dalle dimensioni sotto il gruppo di istanze nel file di configurazione.
Configurazione predefinita
Parametro | Valore predefinito |
Soglia di avviso | Meno di 90 |
Soglia di errore | Meno di 80 |
Numero di campioni | 3 |
Gli override possono essere usati per modificare i valori dei parametri definiti in precedenza per tutte le istanze oppure per istanze o gruppi specifici.
Target | Microsoft.MySQLServer.ManagedServer.Unix | ||
Parent Monitor | Microsoft.MySQLServer.QueryCachePerformanceRollup | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSManEnumeration.LessThanThreshold.ThreeState.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.QueryCacheHitPct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.LessThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.QueryCachePerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.QueryCacheHitPct.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>Query 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(.)='QCacheHitPct']$</Value>
<WarningThreshold>90</WarningThreshold>
<ErrorThreshold>80</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>