MySQL Server yavaş sorgularının tüm sorgulara oranla yüzdesi. Yavaş sorgular, MySQL Veritabanlarında çalıştırılan, genel 'long_query_time' değişkeninden daha uzun süre alan sorgulardır. Bu izleyici, genel 'Slow_queries' durum değişkeninden yavaş sorguların sayısını alır ve bunu genel 'Queries' durum değişkenindeki sorgu sayısına böler. MySQL 5.0 ve 5.1 için, sorguların sayısı aşağıdaki genel durum değişkenlerinin toplamıdır: ‘Questions’, ‘Com_ping’, ‘Com_statistics’, ‘Com_stmt_prepare’, ‘Com_stmt_close’ ve ‘Com_stmt_reset’. İzleme eşiği, yoklamalarda aracıya döndürülen değerlerin bir ortalamasına göre çözümlenir; burada Örnek Sayısı parametresi, ortalamanın hesaplanmasında kullanılan örneklerin sayısını denetler.
Sağlıksız bir durum, genel ‘long_query_time’ değişkeninden büyük olan sorguların yüzdesinin yüksek olduğunu gösterir.
Yüksek yavaş sorgu yüzdesi sorununu çözmek için, yapılandırma dosyasında yavaş sorgular yavaş sorgu günlüğü tutma açılarak belirlenebilir. Bu, örnek grubu seçenekleri bölümüne aşağıdaki satırla birlikte hedef günlük dosyası da eklenerek yapılabilir: “log-slow-queries=günlüğün dosya yolu”. Diğer bir seçenek olarak, sunucu aşağıdaki seçenekle başlatılabilir: “--log-slow-queries=günlüğün dosya yolu”.
Varsayılan Yapılandırma
Parametre | Varsayılan Değer |
Uyarı Eşiği | 15'ten büyük |
Hata Eşiği | 25'ten büyük |
Örnek Sayısı | 3 |
Geçersiz kılmalar, tüm örnekler veya belirli örnekler ya da gruplar için yukarıda tanımlanan parametre değerlerini değiştirmek üzere kullanılabilir.
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>