Wir haben ein Problem, das zeitweise während einer Codebereitstellung auftritt. NFS speichert die Dateien beim Lesen zwischen, aber wenn eine Datei während einer Codebereitstellung gelesen wird, bleibt sie in einem fehlerhaften Zustand, als ob die Datei während der Bereitstellung nicht geändert worden wäre. Die einzige Möglichkeit, dieses Problem zu beheben, besteht darin, den NFS-Cache nach der Bereitstellung zu leeren.
Unser Webserver gibt leere Seiten für alle Anfragen zurück, bis der NFS-Cache geleert ist.
Gibt es eine Einstellung oder hat jemand einen Vorschlag, wie dies behoben werden kann?
Wir führen derzeit NFS v3 aus.
git pull
- Mount-Optionen bereit: nfs rsize = 32768, wsize = 32768, timeo = 30, retrans = 10, intr, noatime, soft, async, nodevAntworten:
Existiert verschiedene Optionen zum Zwischenspeichern von Dateiattributen auf einem NFS-Mount (clientseitig):
Entnommen aus der NFS-Manpage .
Ich hoffe diese Hilfe.
quelle
Sie geben viele NFS-Optionen an, von denen die meisten (rsize / wsize / soft) nicht benötigt werden, da sie (normalerweise) bereits die Standardeinstellungen sind (unter Linux).
Wenn Sie jedoch Linux ausführen, sollten Sie wahrscheinlich die folgenden NFS-Optionen festlegen.
actimeo=3
(Setzt acreg [max | min], acdir [max | min] und kann auf 1 gesenkt werden, wenn immer noch Geschwindigkeitsprobleme auftreten.)lookupcache=none
(ignoriert den Cache vollständig, Standard ist "alle")noac
(Deaktiviert das Attribut-Caching)Dieser Blog-Beitrag scheint mehr Informationen zu haben
quelle