kvm emulalt cache engedelmeskedik az fsync(2), sync(2) szoval, a tartalom annyira megbizhato, mint egy mezei fizikai disk cache-e.
Ha az alkalmazas/guest nem sync -el rendesen..
Szoval akkor nem akarsz nagyobb write cachet, aminel adodna a kerdes, hogy egyetlen SSD -ben tarolt adat eleg biztos -e.
Edge conditions:
- 10 DWPD nem rosz, de a 400G valtozat ~200 szor ujra irhato naponta (~1GB/sec).
Eleg lehet egytlen user aki 401G filebol `banyaszik` adataokat, sequencialis vegig olvasas in loop.
-- Be tudhato lehet elfogadhato vesztesegnek, ha az ilyen baranyok ritkak.
-- Ha lassitod az I/O -t az ssd kimelesere, akkor tenyleg kell -e ssd cache a compute-n.
- Mire eleg 400G ? Ha 16 instance van a gepen akkor ~24G jutt egy instancra.
Elvileg ez boldoga teheti a userket akik 2G<erdekes_adata_resz<24G kozott dolgoznak,
A kis adattal dolgozok megnyerik a harcot a guest -beli page cache-el. (eleg sok instnace ide szokott tartozni)
A nagyobb 24G adatal dolgozokhoz meg majd szamolod a cache hit rate -et, ill. elgondolkozon azon melyik strategia jo a cache entrik ujra hasznositasahoz.
- Hany disk lehet erintett egy nodon ?
Menyi cache marad, egy diskre, ha mondjuk 128 diskrol kene beszelni ? (Az kozel sem a max)
Hogyan lesz a NVMe fair modon felosztva ?
A felsorolt cachelo modok kozul melyik kepes:
-- egyetlen cachepoolt automatiksuan hasznalni tobb diskhez ?
-- dynamikusan csokenteni, ill. novelni a per disk cache meretet ?
IOPS -ra gyursz, vagy csak latency erdekel ill. csak az abbol adodo IOPS ?
BTW: egyetlen NVMe meg ronthat is throughput ertkeken. (disk write vs. ethernet throughput)
Melyik a fontos ? min, max, avg, 90% ?
Heterogen rendszerben eleg nehez ugy hazudni jo latency -t, hogy ne deruljon ki a
turpissag. Dedicalt cache nodo-ok, sok esetben jobban `hazudnak`.
Ha VM-ek tulnyomo reszenek mem_for_page_cache<erdekes_adat_halmaz<20G akkor valoszinuleg jo megoldas lehet belole,
mas esetben pazarlas es/vagy hatastalan.
'erdekes_adat_halmaz': 90% ban ezt olvassuk.
minden ertek becsult, a tevedes joga fentartva :)
Az elgondolas tetszik, en is filozgattam rajta anno,
de minden virualis disk-hez alkalmazva a sanitycheck -en bizonytalan.
Masodik korben vegig lehet szamolni, nagyobb (esetleg olscsobb) SSD -vel,
ahol arra probalsz meg fogadni, hogy ritkabban kell irni, mivel a read nem ut ki cache bejegyzest.
Aztan..
Amit nem lehet megirni assemblyben, azt nem lehet megirni.