Artykuł archiwalny — sprawdź wersję środowiska. Opis dotyczy konfiguracji z czasu publikacji. Przed wykonaniem poleceń sprawdź zgodność z obecną wersją, przygotuj kopię i wykonaj test poza produkcją. Możemy przeanalizować aktualne środowisko.
Agresywny cache ZFS L2ARC z wykorzystaniem NVMe – wydajność
W zależności od topologii sprzętowej, na przykładzie konfigurowanego serwera z dyskiem cache’ującym główny zbiornik (pool), – w naszym wypadku urządzenie L2ARC to wydajny dysk NVMe – możemy zastosować taką zmienną:
vfs.zfs.l2arc_noprefetch=0
options zfs zfs_prefetch_disable=0
domyślnie: l2arc_noprefetch=1 – oznacza wyłączone ładowanie do cache drugiego poziomu danych w streamie odczytu (np. dostęp do dysku) – domyślnie L2ARC wykorzystywany jest gdy dane „wypadają” z ARC.
wartość „0” (zero) włączy zatem prefetching, zwiększając szansę trafienia odczytu w cache L2ARC
Pamiętajmy jednak o prawidłowym doborze ilości pamięci RAM względem dysków i L2ARC – powyższa metoda niejako przełącza L2ARC w tryb „agresywnego” cache’owania. Możemy sobie na to pozwolić jeżeli wolne miejsce na dysku L2ARC pozostaje relatywnie duże względem jego użycia po nagrzaniu (np. przypadek, w którym nie wykorzystujemy więcej niż 20% L2ARC lub wiemy, że dysk L2ARC jest wystarczająco duży).
Zmiana tego parametru wymaga restartu maszyny a zatem rozpoczęcia cyklu „nagrzewania cache”
ZFS performance optimisation with L2ARC NVMe



