ZFS + mysql ničí SSD disky

Re:ZFS + mysql ničí SSD disky
« Odpověď #15 kdy: 18. 08. 2022, 17:06:55 »
To je možné. Ale jak říkám, ssd neumí upravit jen konkrétní bity ale musí přepsat celou buňku. Takže i když na to ext4 zapíše 512B tak se na pozadí provede nejspíš mnohem větší zápis, jen s tím rozdílem že do smartu se započítá těch 512B.

Souhlasím. Já jen, hledám co dalšího může vysvětlit ten obrovský rozdíl. Tohle by mohlo vysvětlit v průměru třeba dojnásobné množství zápisů, takže na  samotné méně efektivní fungování ZFS zbývá stále velká část. (největší část je samozřejmě to nevhodně nastavené recordsize )


RDa

  • *****
  • 1 996
    • Zobrazit profil
    • E-mail
Re:ZFS + mysql ničí SSD disky
« Odpověď #16 kdy: 18. 08. 2022, 17:27:43 »
To je možné. Ale jak říkám, ssd neumí upravit jen konkrétní bity ale musí přepsat celou buňku. Takže i když na to ext4 zapíše 512B tak se na pozadí provede nejspíš mnohem větší zápis, jen s tím rozdílem že do smartu se započítá těch 512B.

Souhlasím. Já jen, hledám co dalšího může vysvětlit ten obrovský rozdíl. Tohle by mohlo vysvětlit v průměru třeba dojnásobné množství zápisů, takže na  samotné méně efektivní fungování ZFS zbývá stále velká část. (největší část je samozřejmě to nevhodně nastavené recordsize )

Tohle zalezi disk od disku, ty lepsi delaji kompresi a zapisuji na konec volneho bloku, v podstat neco jako zurnal / SMR (a hlidaji si co kam dali), nema smysl kvuli male zmene mazat/zapisovat stejna data.

Proto je lepsi, kdyz ma SSD 512B sektory nez 4Kn, i kdyz FS vrstva tam bude cpat 8x512 pro kazdou zmenu v clusteru.

Re:ZFS + mysql ničí SSD disky
« Odpověď #17 kdy: 26. 08. 2022, 11:07:21 »
Díky všem za příspěvky.  Můj závěr tedy je, že ZFS není vhodné na hodně zapisující databáze, kvůli výkonu i kvůli mnohonásobně většímu opotřebování disků. I když bych se měl při pořízení kvalitního serverového SSD disku a recordsize=4k teoreticky vlézt do jeho životnosti, pravděpodobnost problémů si tím zbytečně zvyšuji.
Nemluvě o tom, že to ta databáze má podle mé zkušenosti několikanásobně menší výkon. Myslím tím rychlost složitější dotazů.

Tedy nezbývá než se pro případ databází  se vrátit k RAD1+LVM2+ext4 . Snapshoty to  umí též (jen po dobu zálohování - po krátkou dobu mi snížený výkon a větší opotřebení nevadí, navíc zálohy se provádí v noci při minimálním provozu), jinak databázi zálohuji pomocí replikace, snapshot je potřeba jen pro nahození replikace, tedy třeba jednou za půl roku.   Opotřebení disků mnohonásobně menší, výkon zase větší. Co mne ale vrtá hlavou je to, že spousta fandů si těchto mnohdy podstatných negativ ZFS vůbec nevšimlo, takže o tom na internetu nenajdeme téměř žádnou zmínku.

Re:ZFS + mysql ničí SSD disky
« Odpověď #18 kdy: 28. 08. 2022, 00:01:04 »
jako... nemám mnoho co dodat, jenom si tady tak googlím. Páchám metavýzkum od stolu.

Máte pravdu, že na první pokus MySQL ZFS SSD mi google hodí na prvních dvou místech oslavné ódy na tenhle nápad = že ZFS je pro tohle použití naprosto boží. Výkonově podobné jako Ext4, možná nepatrně slabší - ale to pohodlí. A jak přesně na to.
Pokud čtu mezi řádky, tak mi tam chybí posouzení právě "write amplification". Je tam hodnocen jenom výkon pro vyšší=uživatelské vrstvy a pak také geniální features.

Teprve když přitlačím, třeba MySQL ZFS SSD write amplification, dostanu (odkaz na toto vlákno a) dva odkazy k věci.

Prostě jste průkopník, přišel jste si na to sám :-( Respect.

Ohledně ZFS vidím pár ladících parametrů, jako velikost bloku a nějaké další věci. Ty oslavné ódy to popisují podrobně. A přesto to nestačí. Často v souvislosti se ZFS čtu zmínky o letmé kompresi - ale mám pocit, že letmá komprese v režii ZFS může write amplification na SSD jedině zhoršit, protože IMO problematizuje pracně vyladěné zarovnání na velikost bloku. Taky jsem si všiml v souvislosti s MySQL zmínek o IO scheduleru - že raději deadline nebo ještě noop než CFQ. Ale toto by podle mého taky nemělo mít vliv na write amplification (i když... přeskupování transakcí ve frontě... jeden nikdy neví jistě.)

Ty dvě "kapitoly z černé kroniky" zmiňují fallback na Ext4, stejně jako Vy. Jsou ale i jiné FS - jako alternativa k Ext4 je často zmiňován XFS, a někdy taky BTRFS. Bohužel většina pojednání na toto téma je stará, cca 2012. Ovšem od té doby Ext4 prodělal jakousi regresi po velkém overhaulu někdy v době 4.x (ze které je snad už venku), naopak starobylý XFS se dočkal poctivé průběžné údržby a momentálně si ve srovnání s Ext4 zřejmě vede poměrně slušně. BTRFS pod MySQL zřejmě není dobrý nápad (doporučuji i diskusi pod článkem) - údajně BTRFS má mizernou průchodnost pro "random přepis", což je přesně případ databází...

Hehe kde jsou ty časy, kdy se tablespace dával na holé blokové zařízení, bez FS. Hm - koukám, že MySQL toto taky zatím ještě umí :-) Ale nevýhody zřejmě převažují nad výhodami.