Seitenlebenserwartung

Microsoft.SQLServer.Linux.Monitor.DBEngine.PageLifeExpectancy (UnitMonitor)

Seitenlebenserwartung (Sek.) für Datenbankmodul

Knowledge Base article:

Zusammenfassung

Die Seitenlebenserwartung entspricht der Anzahl der Sekunden, die eine Seite ohne Verweise im Pufferpool verbleibt. Eine hohe Seitenlebenserwartung bedeutet, dass die erforderlichen Daten im Cache enthalten sind und nicht auf die Festplatte zugegriffen werden muss.

Ursachen

Extrem niedrige Werte für die Seitenlebenserwartung können auf Folgendes hinweisen:

Zu wenig Arbeitsspeicher im System

Zu wenig Arbeitsspeicher für die Verwendung durch SQL Server konfiguriert

Unzureichender Indexentwurf

Lösungen

Überprüfen Sie, wie das E/A-System die Last verarbeitet. Wenn die Leistungsindikatoren für durchschnittliche Lese- und Schreibvorgänge auf dem Datenträger pro Sekunde für das Objekt "PhysicalDisk" hoch sind (in der Regel höher als 10 ms), ist Ihr System möglicherweise überlastet, oder Abfragen und Indizierung sollten verbessert werden.

Der Pufferpool kann überlastet sein, da SQL Server gleichzeitig mit großen Tabellenmengen arbeitet oder vollständiges Scannen anstelle der Suche mit Kriterien verwendet. Überprüfen Sie den Leistungsindikator "SQL Server:Zugriffsmethoden:Vollständige Scans/Sekunde", um das Problem zu untersuchen.

Sie können SQL Server Profiler verwenden und Showplan Statistics in der Leistungskategorie durchsuchen, um die Anwendung zu finden, die einen vollständigen Scanvorgang verursacht.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Anzahl der Abtastungen

Gibt an, wie oft ein gemessener Wert einen Schwellenwert verletzen muss, damit der Status geändert wird.

6

Synchronisierungszeit

Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Dieser Wert kann ausgelassen werden.

 

Schwellenwert

Der ermittelte Wert wird mit diesem Parameter verglichen.

300

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

200

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Linux.MonitorType.DBEngine.PageLifeExpectancy
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL für Linux: Seitenlebenserwartung ist zu niedrig
Die Seitenlebenserwartung der SQL-Instanz "{0}" auf dem Computer "{1}" ist zu niedrig. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.DBEngine.PageLifeExpectancy" Accessibility="Public" Enabled="false" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.DBEngine.PageLifeExpectancy" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.DBEngine.PageLifeExpectancy.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<Threshold>300</Threshold>
<NumSamples>6</NumSamples>
<TimeoutSeconds>200</TimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<PerformanceCounterObject>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
</Configuration>
</UnitMonitor>