Werte für die Lebensdauer des SMB-Metadaten-Caches anpassen, um Sperr-Deadlocks zu verhindern?

Figo Wanger 0 Zuverlässigkeitspunkte
2026-09-09T13:37:18.09+00:00

Ich möchte wissen, wie man die Lebensdauerwerte des SMB-Metadaten-Caches (Set-SmbClientConfiguration -FileInfoCacheLifetime) anpasst, um Deadlocks bei Dateisperren während hochfrequenter Schreibzugriffsspitzen für eine auf einem SoFS-Cluster gehostete, stark ausgelastete Datenbankanwendung zu verhindern.

Windows für Unternehmen | Windows 365 Enterprise
0 Kommentare Keine Kommentare

1 Antwort

Sortieren nach: Neueste
  1. Domic Vo 34,165 Zuverlässigkeitspunkte Unabhängiger Berater
    2026-09-09T14:24:44.59+00:00

    Hallo,

    die Lebensdauerwerte des SMB-Metadaten-Caches, konkret FileInfoCacheLifetime über Set-SmbClientConfiguration, steuern, wie lange Dateiinformationen wie Attribute und Handles im Client-Cache gehalten werden, bevor eine erneute Abfrage gegen den Server erfolgt. Standardmäßig liegt dieser Wert bei 10 Sekunden. In hochfrequenten Workloads, wie bei einer Datenbank auf einem Scale-Out File Server (SoFS), kann ein zu hoher Cachewert dazu führen, dass Sperrinformationen nicht rechtzeitig aktualisiert werden und Deadlocks oder Verzögerungen bei Lock-Freigaben auftreten.

    Um dies zu entschärfen, sollten Sie den Wert deutlich reduzieren. Ein typischer Ansatz ist, Set-SmbClientConfiguration -FileInfoCacheLifetime 1 zu setzen, sodass der Client die Metadaten nahezu sofort aktualisiert. Das reduziert die Wahrscheinlichkeit von Deadlocks bei parallelen Schreibzugriffen, da die Lock-Informationen schneller synchronisiert werden. Beachten Sie aber, dass dies die Anzahl der Metadatenabfragen gegen den SoFS-Cluster erhöht und damit die Netzwerk- und CPU-Last steigen kann. Es ist ein Trade-off zwischen Konsistenz und Performance.

    Zusätzlich sollten Sie prüfen, ob die Datenbankanwendung selbst SMB für hochfrequente I/O optimal nutzt. Microsoft empfiehlt für SQL Server-Workloads auf SoFS die Verwendung von SMB Direct (RDMA) und die Anpassung von Parametern wie DirectoryCacheLifetime und FileNotFoundCacheLifetime ebenfalls auf niedrige Werte, um ähnliche Inkonsistenzen zu vermeiden. Alle diese Einstellungen können Sie mit Get-SmbClientConfiguration kontrollieren und gezielt anpassen.

    Wichtig: Diese Änderungen sollten zuerst in einer Testumgebung validiert werden, da sie je nach Clustergröße und Netzwerkarchitektur unterschiedliche Auswirkungen haben können. Microsoft dokumentiert diese Parameter offiziell in den Artikeln zur SMB Client Configuration und zu Best Practices für SQL Server auf SoFS.

    Ich hoffe, Sie haben hier etwas Nützliches gefunden. Wenn es Ihnen hilft, mehr Einblick in das Problem zu bekommen, wäre es schön, die Antwort zu akzeptieren. Sollten Sie weitere Fragen haben, hinterlassen Sie gerne eine Nachricht. Einen schönen Tag noch!

    Domic Vo.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.