( vasla_ | 2024. 10. 31., cs – 02:31 )

ZFS cache-nek érdemesebb inkább RAM-ot bővíteni, modern DDR4-5 RAM-ok több giga per mp. ütemben nyomják, amit az OPtane 230 megásával.



 

Aszinkron írásnál igen. De pont ez a lényeg, adatbáziskezelők például , amik kis blokkokat irnak (4-16K blokkok) azonnal az ssd-re(szinkron irás,) azt viszont töménytelen mennyiségben, vagyis nagyon magas az iops követelmény. Ezen nem tudsz ram  bővitéssel segíteni, az aszinkronnál igen, telik a hatalmas RAM, .nagy sebességgel, aztán majd valamikor lemezre, ssd-re íródnak az adatok, ha áramszünet, lefagyás van, nem akkora gond, mert ezek olyan adatok, amik nem fájnak annyira ha elvesznek. Szinkron irásnál meg azonnal menni kell a lemezre , ott nincs pufferelés ram-ba, az adatbázisban  nem sérülhet a konzisztencia. 

Itt jön képbe az olyan eszköz ami nagy sebességgel tud kisblokkos random szinkron irást, ami maradjunk a példámnál - az adatbázisokhoz kell.
ZFS azt csinálja , hogy ha van egy ilyen eszköz , ZIL, akkor a szinkron irás ide kerül naplózásra elsőnek, nem a lassab lemezekre. Mostmár ráér a lemezre írás. Ez a ZIL log. Ha valami lefagyás van, oltt vannak az adatok a ZIL ssd-n, és visszakapcsoláskor helyreállítja az adatkondzisztenciát a ZFS. Kicsit hasonló ez mint a hw. raid kártyák nem felejtó ramja az akkumulátorával.



Amúgy 4K randomnál a Samsung 980-nak kéne tudnia egy kb. 70-100 mega körül, ott valami nem jó, ha csak 4 megát tud.

 

 

Most akkor kinek higgyünk, a saját szemünknek , vagy a marketingnek ?  Mérd le, és ha 100 MB/secet mérsz azonnál szóljál mert rohanok venni belőle.
En viszont ezt mérem, (Itt most SZINKRON random kisblokkos  irásról beszélek , ami leginkább csak szerver környezetben érdekes)  . De ott a fio, van windowsra is egyetlen mérés bárkinek, aztán jön a szomorú valóság, nvme egy platform, nem sebesség: 

WD nvme ssd: (Jó, nem 4 hanem 10 MB/sec, asztali ilyen , lehet utánmérni sajáton)

C:\Users>wmic diskdrive get model,size
Model                           Size
WDC PC SN530 SDBPNPZ-256G-1002  256052966400

 

C:\tmp> fio --name=ssdtest --filename=testfileX1 --size=100M --bs=4k --iodepth=1 --rw=randwrite --randrepeat=1 --sync=1
--fsync=1

  fsync/fdatasync/sync_file_range:
    sync (nsec): min=71, max=7985, avg=125.58, stdev=132.78
    sync percentiles (nsec):
     |  1.00th=[   89],  5.00th=[   94], 10.00th=[   96], 20.00th=[   99],
     | 30.00th=[  101], 40.00th=[  103], 50.00th=[  104], 60.00th=[  106],
     | 70.00th=[  110], 80.00th=[  119], 90.00th=[  161], 95.00th=[  201],
     | 99.00th=[  516], 99.50th=[  852], 99.90th=[ 1336], 99.95th=[ 1640],
     | 99.99th=[ 7520]
  cpu          : usr=0.00%, sys=0.00%, ctx=0, majf=0, minf=0
  IO depths    : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,25600,0,25599 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=10.3MiB/s (10.8MB/s), 10.3MiB/s-10.3MiB/s (10.8MB/s-10.8MB/s), io=100MiB (105MB), run=9713-9713msec