Data Domain: Hohe CPU-Auslastung durch exzessive BoostFS READDIR-Vorgänge
Summary: Bei Data Domain-Systemen kann es trotz geringer Backup-, Replikations- oder Anwendungs-Workloads zu einer anhaltend hohen CPU-Auslastung kommen, wenn große Mengen von BoostFS READDIR/OSTREADDIRPLUS-Anforderungen erzeugt werden. Historische Untersuchungen haben gezeigt, dass automatisierte Indizierungs-, Scan-, Überwachungs- und Dateisystem-Traversal-Prozesse, die auf BoostFS-Mount-Punkten ausgeführt werden, die DDFS- und CPU-Auslastung des Systems erheblich erhöhen können, was zu erhöhten Lastdurchschnitten und herabgesetzter Leistung führt. ...
Symptoms
Die CPU-Auslastung bleibt konstant hoch und liegt oft über 80 %, selbst in Zeiträumen mit geringem Durchsatz und minimalen aktiven Streams.
Erhöhte CPU-Auslastung des Systems (%system) in SAR-Statistiken beobachtet.
Hohe Systemlastdurchschnitte, die nicht mit Backup- oder Replikations-Workloads
korrelierenDDFS-Prozesse verbrauchen wesentlich mehr CPU-Ressourcen als erwartet.
Die Performanceanalyse zeigt eine signifikante Aktivität in READDIRPLUS-bezogenen Codepfaden.
Eine große Anzahl von OSTREADDIRPLUS oder ddp_readdir In Autosupport-Daten beobachtete Vorgänge.
Backup-, Wiederherstellungs- oder Dateizugriffsvorgänge können langsamer als erwartet werden.
Erhöhte Anzahl aktiver TCP-Verbindungen und Warnmeldungen zur möglichen Ablehnung von Verbindungen.
Häufig "5006-end of directory" Meldungen können in BoostFS- oder DDFS-Protokollen angezeigt werden.
Ein dd_guts Der Scheduler-Thread scheint stark ausgelastet zu sein, während andere Scheduler-Threads vergleichsweise im Leerlauf bleiben.
Statistiken der NFS-RPC-Schicht zeigen möglicherweise erhöhte Werte an. data_wait und svc_func Wert
Cause
Die Analyse ergab, dass übermäßige READDIR und READDIRPLUS Vorgänge, die von BoostFS-gemounteten Dateisystemen stammen, trugen zu einer erhöhten CPU-Auslastung bei.
Historische Untersuchungen haben gezeigt, dass automatisierte Indizierung, Sicherheitsscans, Überwachungsdienstprogramme und Prozesse zum Durchlaufen von Dateisystemen große Mengen an Verzeichnisaufzählungsanforderungen erzeugen können, was zu einer erhöhten DDFS- und Kernel-CPU-Auslastung führt, selbst wenn Backup-Workloads relativ gering bleiben.
Häufige Ursachen für exzessive READDIR Zu den Aktivitäten zählen:
mlocate/updatedb Indexierungsprozesse zum Scannen von BoostFS-Mount-Punkten.
Sicherheits- und Antivirenscananwendungen
Überwachungs- und Integritätsprüfungstools fragen gemountete Dateisysteme ab.
Häufige Aktivitäten zur Enumeration von Dateisystemen wie rekursive Verzeichnisauflistungen und Statistikvorgänge.
Anwendungen, die BoostFS- oder SDK-Schnittstellen verwenden und wiederholt große Verzeichnisstrukturen durchlaufen.
Automatisierte Skripte für die kontinuierliche Dateisystemerkennung oder Bestandserfassung.
Diese Aktivitäten können Millionen von READDIR Vorgänge pro Tag, was zu einem erheblichen Verarbeitungsoverhead innerhalb von DDFS und dem zugrunde liegenden Dateisystem führt.
Resolution
Überprüfen Sie Systeme mit BoostFS-Mounts auf Anwendungen, die häufige Verzeichnisaufzählungs-, Indexierungs-, Überwachungs- oder Scanaktivitäten ausführen.
Zu den empfohlenen Maßnahmen gehören:
Identifizieren von Anwendungen, die übermäßige READDIR Aktivität für BoostFS-gemountete Dateisysteme
BoostFS-Einhängepunkte ausschließen von mlocate/updatedb Indexierung durch Update der PRUNEFS-Konfiguration.
Überprüfen und begrenzen Sie unnötige Virenschutzscans, Sicherheitsscans, Überwachungstools, Integritätsprüfungsprozesse und Dateisystemabfrageaktivitäten für BoostFS-Mounts.
Reduzieren oder eliminieren Sie häufige rekursive Verzeichnisdurchlaufvorgänge, wo möglich.
Überwachen OSTREADDIRPLUS, ddp_readdir, CPU-Auslastung und Lastdurchschnitte nach der Implementierung von Änderungen.
Befolgen Sie die Best Practices von Data Domain und BoostFS, um zu verhindern, dass Scanner- und Indexierungsanwendungen kontinuierlich gemountete Backupdateisysteme durchlaufen.
Historische Untersuchungen haben gezeigt, dass sich die CPU-Auslastung erheblich verringert hat, nachdem BoostFS-Mount-Punkte von automatisierten cron Jobs, die Indizierungs- und Scanaktivitäten durchführen.
Dieses Verhalten weist darauf hin, dass übermäßige READDIR Die von diesen Prozessen erzeugten Aktivitäten können erheblich zur erhöhten DDFS-CPU-Auslastung beitragen.
Darüber hinaus können häufige "5006-end of directory" Meldungen können auf wiederholte Verzeichnislesevorgänge hinweisen. Die Menge dieser Meldungen kann als Indikator für die Menge der READDIR -Aktivität auf dem Data Domain-System. Lesevorgänge auf BoostFS-gemounteten Dateisystemen sind in der Regel teurer als Schreibvorgänge. Daher ist es wichtig, unnötige Scans oder das Durchlaufen von gemounteten Backup-Namespaces zu vermeiden.
Prüfen cron Jobs auf BoostFS-Clients:
ls -l /etc/cron.dailyAdditional Information
Data Domain: BoostFS-Probleme mit Sicherheitsscannersoftware oder -anwendungen
Data Domain: Troubleshooting von BoostFS-Problemen mit Konnektivität, Mounten und Leistung