Wartość procentowa powolnych zapytań serwera MySQL w porównaniu do wszystkich zapytań. Powolne zapytania to takie, których wykonywanie na bazach danych MySQL trwa dłużej niż wartość zmiennej globalnej long_query_time. Ten monitor pobiera liczbę powolnych zapytań ze zmiennej globalnej stanu Slow_queries i dzieli ją przez liczbę zapytań ze zmiennej globalnej stanu Queries. Dla serwera MySQL 5.0 i 5.1 liczba zapytań jest sumą wartości następujących zmiennych globalnych stanu: Questions, Com_ping, Com_statistics, Com_stmt_prepare, Com_stmt_close i Com_stmt_reset. Próg monitora jest analizowany w odniesieniu do średnich wartości zwracanych w sondach do agenta, gdzie parametr Liczba próbek określa liczbę próbek uwzględnionych podczas obliczania średniej.
Zła kondycja oznacza, że wartość procentowa zapytań, których czas wykonywania jest dłuższy niż wartość zmiennej globalnej long_query_time, jest wysoka.
Aby rozwiązań problemy związane z wysoką wartością procentową powolnych zapytań, można włączyć rejestrowanie powolnych zapytań w pliku konfiguracyjnym. W tym celu w obszarze opcji grupy wystąpień należy dodać następujący wiersz wraz ze ścieżką docelowego pliku rejestrowania: log-slow-queries= ścieżka do pliku rejestrowania. Można również uruchomić serwer z następującą opcją: --log-slow-queries=ścieżka do pliku rejestrowania.
Konfiguracja domyślna
Parametr | Wartość domyślna |
Próg ostrzeżenia | Większy niż 15 |
Próg błędu | Większy niż 25 |
Liczba próbek | 3 |
W celu zmiany wartości parametrów zdefiniowanych powyżej dla wszystkich lub określonych wystąpień bądź grup można zastosować zastąpienia.
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.SlowQueryPct.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.SlowQueryPct.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>Slow Query 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(.)='SlowQueryPct']$</Value>
<WarningThreshold>15</WarningThreshold>
<ErrorThreshold>25</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>