Přecházíme nyní z OpenVZ ext4 na lxc ZFS. Výhody ZFS jsou zřejmé jako snapshoty a tím snadná záloha a klonování.
Ale nyní jsem narazil i na podstatnou nevýhodu a to podstatně nižší výkon.
Jedná se o databázovou aplikaci, která snímá diagnostická data a zapisuje je do databáze. Je tam tedy velké množstvím inzertů a podobně velké množství updatů, kdy se nasbíraná data vyhodnocují. Po přesunu této aplikace na lxc/ZFS co používá SSD byl výkon oproti starému stroji s rotačním diskem cca poloviční. Co mne ale zaráží je, že jiné kontejnery začaly bezdůvodně ztrácely rtp pakety.
Očekával jsem tak cca čtyřnásobné zvýšení výkonu (kvůli použití SSD) a místo toho se rychlost snížila.
U Openvz se v podstatě nikdy nestávalo, že by přetížení jednoho kontejneru vyvolávalo podstatné problémy v jiném, lxc je o tolik horší? Zkoušeli jsme to stejné ještě na jiném stroji, abychom vyloučili chybu hardwaru, ale výsledek byl velmi obdobný. Dále jsme omezili paměť pro ZFS aby jsme se s jistotou vyhnuli možnému swapování. Zkoušeli jsme též použít jak inodb tak myISAM. MyISAM je pro nás o něco málo výkonnější, ale žádný podstatný rozdíl. Jediné co mělo výrazný vliv, je snížení parametru recordsize na 4K. Např. viz návod
https://blog.programster.org/zfs-record-size . Tím se dalo docílit podobné rychlosti jako na starém počítači s rotačními disky. Stále mi ale nejde do hlavy, jak je možné, že se při využití SSD disků nedostavilo žádné zrychlení. Nečekal jsem že bude ZFS rychlejší, ale rozdíl jsme čekal podstatně menší. Máte někdo s tím zkušenost? Takto si připadám, že co se rychlosti a spolehlivosti týče je to krok zpět. Samozřejmě ZFS může být lepší co se týče integrity dat, ale pokud by to mělo znamenat takto výrazné snížení rychlosti, je otázka, jestli to stojí za to. A pokud je to jen analýza ne úplně důležitých dat, je lepší se ZFS úplně vyhnout?
Máte s tím někdo zkušenost?