Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Michal Šmucr

Stran: 1 ... 11 12 [13] 14 15
181
Hardware / Re:Měření životnosti NVMe disku
« kdy: 04. 08. 2024, 21:41:28 »
Něco takového jsem si vyzkoušel při změně SSD (Samsung 990 Pro). Překopíroval jsem obsah starého SSD pomocí dd a podíval se do smartctl na obsazení. Zjevně se i nepoužité místo zapsalo jako použité, tedy z nějakého důvodu SSD controller nenapadlo samé nuly zapsat jako díru. Nicméně pak jsem se pustil do trimování (můj setup byl převážně dm-crypt -> LVM -> ext4, takže to bylo trochu komplikovanější) a místo se uvolnilo. Obsazeno potom bylo ± jako na starém SSD.

Jiné modely se mohou chovat mírně odlišně, ale u moderních SSD bych nečekal fundamentální rozdíl…

EDIT: Pokud tam bude nějaký háček, tak bych čekal maximálně něco jako že by bylo potřeba několik po sobě jdoucích volných bloků, aby došlo ke skutečnému uvolnění, protože velikost erase bloku bude větší.

Díky, za praktické potvrzení. To s tím celým P/E blokem by taky dávalo smysl, akorát to samozřejmě komplikuje fakt, že díky FTL mapě to nemusí být po sobě jdoucí logické bloky. Ale to v zásadě asi nic nemění.

182
Hardware / Re:Měření životnosti NVMe disku
« kdy: 04. 08. 2024, 21:30:27 »
https://forum.root.cz/index.php?action=post;topic=29358.15;last_msg=408311#postmodify

Podle mne získání 10% procent výkonu není moc důležité.  Jde spíše o to lépe vyhovuje životnosti disku.  A zde může být lepší, když jde na disk zapsat  jen 512B, když se např. updatuje index databáze. Nebo jak to vlastně funguje?
A také jde o to, co se vlastně započítá, jestli jeden blok, nebo rovnou bloků 8 kvůli jedinému zápisu.


Ty čítače ve SMARTu z NVME disku nekecají, jsou to dva standardizované atributy (07h, 08h), které říkají kolik dat šlo při čtení resp. zápisu z hosta (ne kolik se zapsalo na NAND buňky). Je to vždy přepočítáno na bloky 512 bajtů.
Tzn. když se zapíše jeden 4k request, tak se čítač inkrementuje o 8, pokud se zapíše čtyři 16k requesty, tak se inkrementuje o 32 atp. Z hlediska tohohle akumulovaného čítače je víceméně jedno, jaké délky requestů se používají a případně jaká je minimální délka v systému (jestli 512 B nebo 4 kB).

Navíc jsou tam dva další čítače (09h, 0Ah), Host Read Commands a Host Write Commands. Když podělíte velikost (v bajtech) z předchozích atributů těmihle hodnotami, dostanete průměrnou délku requestu.

Pokud byste chtěl zjistit kolik se skutečně zapsalo do buněk a potažmo, jaká je amplifikace zápisu (WAF) v hardware, tak to není ve standardních atributech v NVME disku. To je typicky v detailnějším c0 logu, který musíte vytáhnout a dekódovat přes konkrétní utilitu v nvmi-cli, ale formát je specifický pro každého výrobce, takže např. pro Intel to bude něco jako - nvme intel smart-log-add
https://manpages.debian.org/testing/nvme-cli/nvme-intel-smart-log-add.1.en.html
To pak zobrazí i celková data zapsaná data do buněk (obvykle počet 32MB bloků).
Hardwarový WAF ovlivníte primárně tím, co jsme tu naťukli v ostatních postech.. Tzn. třeba podle situace např. volným místem na FS a pravidelným trimováním.

Ale to, jak jsem to pochopil, není ta hlavní potíž. Vy spíš řešíte zvýšení WAF a množství zápisů, kvůli nastavení filesystémů, resp. databáze.
Jak zaznělo v předchozích postech, tak tohle bude primárně věc souběhu určitých mechanismů v ZFS a v innodb, které se pak projeví tak, že se do toho blok. zařízení zapisuje mnohem víc, než se standardními souborovými systémy.
Něco už tu padlo. Innodb má standardně zapnutý doublewrite do separátního souboru, tzn. dělá to víceméně totéž jako CoW u ZFS. Další věc je, že když se dat. soubor, index, nebo ten DW soubor otevře v synchronním řežimu, tak to na ZFS jede vždy přes ZIL (což je takový specifický žurnál buď v datasetu, nebo na samostatném zařízení). Data jdou nejdřív tam, pak se potvrdí zápis tomu procesu a následně zapíší na cílové místo v datasetu. Takže zas o zápis víc. Když už se použije ZIL, tak se dá ozkoušet různé nastavení volby logbias.
Dají se pak samozřejmě ladit i další parametry jak na úrovni ZFS, tak innodb, které nemusí nutně amplifikovat počet zápisů, ale mohou v určitých situací negativně ovlivnit výkon nebo třeba i spolehlivost ukládání dat, pokud se to rozhasí. Např. metoda synchronizace (flushování bufferů), ZFS nemá implementovaný O_DIRECT (vrací, že ano, takže nespadne aplikace, ale nechová se jako na klasickém fs), další věc je to nastavení bufferů, práh, kdy to začne flushovat, úroveň paralelizace atp. Na určitých konfiguracích, kde je třeba agresivnější bufferování v innodb může mít smysl v ZFS datasetu vypnout fakticky vypnout ARC pro data.
Relevantní volby jsou popsány přímo v dokumentaci OpenZFS a je tam i od
https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Workload%20Tuning.html#innodb
Případně aktualizovaný dokument o výkonu u Percony: https://www.percona.com/blog/mysql-zfs-performance-update/

Stran velikosti těch bloků, to je asi další téma (a držel bych se toho defaultu, ashift podle nativní velikosti na SSD - např. 4k, recordsize na datasetu podle velikosti stránky innodb), ale jiné nastavení by nemělo primárně způsobovat ten zásadně vyšší WAF.
Jak jsem zmiňoval, kdybych si to měl testovat a porovnávat s EXT4, potom, co budu měnit jednotlivé volby. Vůbec na počítání zápisů není potřeba to konkrétní SSD, udělal bych nějakou testovací databázi, čerstvé ext4 a ZFS třeba nad nějakými loop devicey a odečítal bych to rovnou z /proc/diskstats.. Dá se to zapéct rovnou do nějakého skriptu, co odečte aktuální hodnotu čítače s počtem zápisů, provede operaci s mysql klientem (nějaký SQL skript s insert, update, delete např.) a pak zas zjistí aktuální počet a odečte předchozí hodnotu. ZFS bude mít víc I/O než ext4, ale nemělo by to být 10x.

Uff, trochu delší :)

183
Hardware / Re:Měření životnosti NVMe disku
« kdy: 04. 08. 2024, 16:22:14 »
Autoritativní zdroj ne, ale několik vysvětlení ano.

Díky za rozepsání. A ano tohle o té dynamické SLC jsem věděl, a je i jasné, že když dochází volné paměťové buňky, tak obecně roste WAF. I když samozřejmě ten praktický dopad na výkon bude strašně záležet na workloadu a nemusí to být tak děsivé, jako když tam někdo kontinuálně jede sekvenční zápisy v nějaké syntetickém testu.
Jinak obecně já se taky v praxi snažím nechávat rozumné množství volného místa. I když, přiznám se, dělal jsem to i dekády zpátky, primárně kvůli fragmentaci a šíleným přístupovým dobám, no a přenesl jsem si to i na SSD. Nedělám menší oddíly, ale spíš využívám množství rezervovaných bloků (ext4, XFS) nebo kvóty, pokud to nemá nějaké vedlejší účinky (měl jsem třeba problém u BTRFS s kvótami a větším množství snapshotů).

Šlo mi v otázce čistě o ten konkrétní mechanismus a potvrzení, že se všechny trimované, unmapované bloky vždycky vrací do nějakého poolu, odkud se pak kdykoliv použijí na dyn. SLC, GC, remapování atp.
Ale bude to tak, je to logické a nakonec jsem našel i něco jako "autoritativní" článek s odkazy
https://sabrent.com/blogs/storage/ssd-overprovisioning
Je toho víc, jen asi když jsem to před lety hledal, tak jsem zřejmě neměl správnou terminologii :)
Někde to např. označují jako explicit (bloky rezervované výrobcem) a implicit (otrimované bloky volného místa na FS) overprovisioning.

A shodou okolností v tenhle konkrétní Intel P660 v 2TB verzi jsem použil před lety do jedné video střižny. Byl to první rozumně dostupný QLC model v těchhle kapacitách. Slouží tam jako render cache, takže jsem to bral tak, že je tam mnohem víc čtení než zápisů a navíc žádná kritická data, kdyby to odešlo vzhledem k výdrži QLC. Zatím funguje (bude to 6-7 let už si to přesně nepamatuju).

Btw mrknete se treba i sem:

Taky díky, zajímavé. Také jsem v poslední době procházel různé papery, prezentace atp. ohledně SSD. Upřímně mě až překvapil ten vývoj a sofistikovanost ohledně řídících algoritmů uvnitř SSD. A nejen kvůli použití těch 3D buňek, kde je třeba brát víc v potaz ty fyzické atributy ukládání a zohledňovat je v metadatech, ale i třeba velikosti dnešních největších SSD (např. 32TB v enterprise řadách), kdy už to vyžaduje relativně extrémní velikosti těch map a metadat, což přináší další výzvy, pokud to nejde řešit jen hrubou silou/velikostí DRAM cache. Nebo např. implementace chytrého klasifikátoru různých druhů IO operací z hosta, který pak ovlivňuje spousty věcí uvnitř SSD. Počínaje výběrem buňky při zápisu, přes různou práci s SLC (v určitých případech ji přeskakuje a jde rovnou do TLC/QLC) až po scheduling interních přesunů dat mezi buňkami, které pak musí brát v potaz přesně ty fyz. parametry 3D vrstev, počet zápisů a dobu od posledního atp. A ideálně by to mělo co nejmíň ovlivnit výkon z hosta pro aktuální workload a samozřejmě zaručit konzistenci třeba při případném výpadku napájení.
Jsou k dispozici i papery, kdy na tyhle koordinace vyvíjí a testují používání agentů s reinforced learningem. Takže až uvidíme "AI" disky, tak to nebude tak daleko od pravdy ;)
Stejně jako snahy o bližší spolupráci aplikace a souborového systému (např. Log2FS) s tím firmware v SSD, kdy to může výrazně zvýšit efektivitu, zvlášť pokud se na všech třech zmíněných úrovních řeší podobná věc (např. nějaká forma Write Ahead Loggingu), optimalizace využití front, eliminace zbytečného kopírování mezi buffery atp.
Spousta věci :)

184
Hardware / Re:Měření životnosti NVMe disku
« kdy: 03. 08. 2024, 14:57:58 »
Jinak s těmi SSDčky a hraní si s velikostí bloku FS resp. zarovnáváním na nějaké jiné hodnoty než host nativní (abych se třeba trefil na nějakou vnitřní velikost erase bloku) nemám moc zkušeností, vždycky jsem se snažil nastavit min. velikost zápisu FS buď na 4 nebo 8k podle modelu SSD. A bral to spíš tak jak píše RDa, tzn. že tam je při zápisu ještě FTL mapování, SLC cache a vnitřní procesy, které stejně neovlivním. Nedávalo mi až takový smysl s tím laborovat.
Ale případný benefit bude asi záležet na workloadu a konktétním modelu SSD.

SSDčka jsou zrádná, QLC ti v serveru chcípá před očima. TLCčka jdou, ale pokud to není serverový disk, nemůžeš použít celou jeho kapacitu, ale vyhradit tak maximálně 80% a zbytek mu nechat volný.

Tohle mi přijde zajímavý point, u kterého jsem si nikdy nebyl úplně jistý, a měl na to v konverzaci vždy minimálně dvě odpovědi :)
- nechávat volné nealokované místo (nad rámec volného místa pro zachování výkonu FS, kvůli alokátoru, fragmentaci) má smysl, protože se všechny volné, "trimované" buňky můžou použít na remapování.
- nenechávat, protože se remapuje pouze s buňkami z overprovisioning oblasti nad rámec logické kapacity zařízení (např 10% kapacity navíc). Což je dané typem, kategorií SSD a návrhem výrobce.
Nemáte nějaký autoritativní zdroj, kde by tohle chování bylo popsané? I vzhledem k tom, že se člověk do firmware, nebo FTL mapy jen tak nepodívá.

185
Hardware / Re:Měření životnosti NVMe disku
« kdy: 03. 08. 2024, 14:38:14 »
Totiž při použití ZFS pozoruji v smartctl řádově větší zápisy než při použití ext4. Takže i lepší disk se ZFS by při mém použití měl mít životnost jen několik let.  Není to ale jen chyba měření?
Da discích běží databáze mysql s hodně zápisy a updaty. Také je mi divné, že podobný problém nikdo další nehlásí.

Osobně bych asi zkusil ty dvě věci oddělit od sebe a udělal nějaký pokus s identickou operací (hromadu insertů, updatů) nad nějakou pokusnou databází uloženou na ZFS resp. ext4 a pak mrknout na /proc/diskstats

https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
https://www.kernel.org/doc/Documentation/iostats.txt

Asi budou i nějaké nástroje, co to umí hezky ukázat, já když to potřeboval, tak jsem to vždycky nějak vysekal přes awk.

Čekal bych že tam bude nějaká aplifikace kvůli CoW, ale nezdá se mi, že by to měl být řád. Ale můžu se samozřejmě v konkrétním případě plést.

CoW se na databáze nedoporučovalo a na BTRFS to jde i pro jednotlivé soubory/adresáře/globálně vypnout.

To u ZFS nejde, dá se třeba ladit recordsize, aby to ideálně odpovídalo databázové stránce, ale vypnout CoW přes chattr nejde.
Ještě se u ZFS třeba dá optimalizovat práce se ZIL pro logbias=throughput.

1. Některá data si ZFS může prvně zapsat do ZFS intent log, a teprve potom je skutečně zapsat. (I když si nejsem jistý, jestli se to používá i na SSD.)

ZIL se použije vždy při synchronních zápisech do FS. Nezáleží na tom, jestli je pod tím rotační disk nebo SSD, ale jak byl otevřený soubor resp. file handle.
To se v mysql dá přepínat direktivami na ladění innodb. Další věc je, že innodb má ve výchozím nastavení povolený innodb_doublewrite, takže pokud pak ještě ty transakce pro každý zápis dělá i FS podtím, je to zbytečné jak z hlediska výkonu, tak počtu zápisů.

Já abych se upřímně přiznal, tak jsem se ZFS v reálu pracoval jen na FreeBSD a Solaris/Illumos, takže je možné, že na Linuxu bude pro mysql možné ještě nějaké další tweakování innodb. Vzpomínám si, že na tohle téma byly nějaké návody od Percony a Let's Encrypt, kde to bylo do docela rozepsané.

186
Jak už zmiňovali ostatní, tak nejjednodušší jsou asi nástroje z inotify-tools (fsnotifywatch, inotifywatch..). Případně strace, což je obecnější nástroj na monitorování různých syscallů. Obojí je fajn, pokud chcete dělat jen ad-hoc interaktvní monitoring.

Jestli jde o nějaké dlouhodobější sledování, tak je na to vhodnější použít auditd. Ten se obecně hodí pro monitorování jak třeba filesystému, tak i síťových spojení atp. Na některých distribucích je rovnou v základní instalaci, do Ubuntu se, mysím, přidá instalací balíčku auditd, jestli je to stejné jak na Debianu.
Běží to jako služba a můžete vytvořit docela mocná pravidla na monitoring. Jak persistentní do nějakého .rules souboru, tak i ad-hoc interaktivní přes auditctl.
Nějaké intro je pak třeba tady:
https://www.linux.com/topic/desktop/customized-file-monitoring-auditd/

187
Server / Re:Napadený server
« kdy: 31. 05. 2024, 13:17:05 »
Jestli jste auditem skutečně odchytil ten citovaný záznam, tak ten socket podle názvů procesu a uživatele otevírá antivir od ESETu. Víc vám neporadím, nikdy jsem s tím na Linuxu nedělal, ale nemá v sobě antivir třeba nějaké e-mailové notifikace (reporty) přes SMTP a v preferencích nastavený vzdálený server, přes který to pak zkouší relay?

188
Hardware / Re:Kontrola a refresh SSD disku?
« kdy: 17. 11. 2023, 22:00:17 »
V té první by měla data vydržet - 1 rok při 30 st. C, u druhé 3 měsíce při 40 st. C.

viz. Retention Use (power off) na stránce 26
https://www.jedec.org/sites/default/files/Alvin_Cox%20%5BCompatibility%20Mode%5D_0.pdf
uložená data.

Jen aby to nevyznělo tak tragicky, zapomněl jsem zmínit, že na další stránce je celá tabulka (podle modelu na zrychlené testování, podobně jako u jiných médií to samozřejmě nikdo nemůže zkoušet v reálném čase :)).
Při nižší teplotě, data drží samozřejmě déle.

189
Hardware / Re:Kontrola a refresh SSD disku?
« kdy: 17. 11. 2023, 21:36:01 »
fstrim --all

To vám spustí trim na všech připojených filesystémech, které podporují trimování. Včetně třeba systémového disku, což většinou nechcete atp.

Tohle rozhodně samo o sobě neřeší nějaké "osvěžení" paměťových buňek z hlediska udržení informace, jen to pošle odpovídající HW příkaz (TRIM, UNMAP, deallocate) pro bloky filesystému, které jsou neobsazené. Můžete to dělat buď automaticky na pozadí, když filesystém maže data (pokud má mount volbu discard), nebo právě jednou za čas manuálně přes fstrim.

Je fakt, že u některých zoufalých SSD, které třeba vykazují velká zpomalení v některých částech své celkové kapacity, tohle může pomoct (než ho třeba definitivně vyhodíte), ale neřeší to přímo zmíněnou životnost dat.
Nicméně když už to je v tomhle stavu, že tohle budete chtít vyzkoušet, tak je lepší přesunout všechna data, odmountovat a zrušit filesystémy na disku a pustit spíš příkaz blkdiscard.
Ten narozdíl od fstrim nepracuje s jednotlivými volnými bloky filesystému, ale pošle do zařízení najednou celý rozsah sektorů, které má uvolnit. Bez parametrů je to komplet celé zařízení, ale dá se specifikovat i třeba nějaký rozsah (offset, délka).
Jinak je blkdiscard samozřejmě dobrý také třeba, když řešíte nějaký thin-provisioned disk, kde rušíte staré filesystémy, a budete vytvářet nové.


190
Hardware / Re:Kontrola a refresh SSD disku?
« kdy: 17. 11. 2023, 21:16:09 »
SSD vyžadují napájení... pokud jsou napájená, řeší si obnovu i verifikaci sám kontroler. Netřeba dělat nic.

Přesně tak.

Díky, to je mimořádně zajímavá informace. Mohu poprosit o zdroj? Ne že bych tomu nevěřil, ale rád bych si přečetl víc.

Co vím, jsou v podstatě dvě kategorie SSD, které ve svých dokumentech definuje JEDEC - Client (consumer) a Enterprise.
V té první by měla data vydržet - 1 rok při 30 st. C, u druhé 3 měsíce při 40 st. C.

viz. Retention Use (power off) na stránce 26
https://www.jedec.org/sites/default/files/Alvin_Cox%20%5BCompatibility%20Mode%5D_0.pdf

Ty celé dokumenty s odpovídajícími standardy JESD.... jsou bohužel neveřejné (jen pro členy JEDECu).
Ale je k dispozici výše zmíněná prezentace, kde je docela hutný výtah. Včetně metodik pro určování výdrže, specifikace testovacích workloadů atp.

Já si myslím že je to hloupost. Sám jsem kopíroval zálohu několika Gb z uloženky ssd něco přes tři roky nepoužívaného a vše be problémů. Více zkušeností tady: https://www.abclinuxu.cz/poradna/linux/show/492557

To bohužel neznamená, že se na to můžete spolehnout. Ty výše zmíněné standardy neříkají, že to ztratí data za danou dobu. Nicméně pokud konkrétní SSD nemá ve své specifikaci uveden nějaký delší čas, kdy vám bude výrobce garantovat, že to udrží data bez napájení, tak bych všechno nad tyhle základní údaje v JEDEC normách (podle kterých to testují a udávají specifikace) bral jako bonus.
Osobně mi také SSD víceméně drží data, ať už třeba vyřazená v nějakých SATA->USB krabičkách, v podstatě na odkládání, nebo třeba jako systémové disky ve stanicích, které jsou ve skladu předinstalované jako náhradní. Ale rozhodně bych to nebral jako médium pro nějaké off-line uchovávání důležitých dat. Minimálně bych to občas celé zapnul a třeba verifikoval data podle nějakých kontrolních součtů, co mám uložené jinde.
Tím nejen ověříte integritu, ale určitě zabere ten controller uvnitř a stoprocentně přistoupíte ke každé buňce, kde máte uložená data.

191
Server / Re:HP microserver GEN8 pomalý zapis na disky
« kdy: 02. 11. 2023, 00:54:23 »
Ještě pár hodnot na porovnání.
Dnes se mi dostal shodou okolností do ruky také HP Microserver Gen 8, základní model se slabším CPU G1610T.

Měl jsem po ruce dva volné HDD. Starý 2TB Hitachi vytažený z vyřazeného pole a novější 6TB Seagate IronWolf Pro.
Vyzkoušel jsem dd zápis s tím samým příkazem pro srovnání.
Pak jsem totéž zreplikoval v benchmarku fio (balíček ve většině distribucí), který umožňuje nastavit zmíněný queue depth (QD), abyste viděl rozdíl.

Device Model:     HDS723020ALA640 RSD HUA

dd
user@lunar:~$ sudo dd if=/dev/urandom of=/dev/sda bs=1M count=1k status=progress oflag=direct
1068498944 bytes (1.1 GB, 1019 MiB) copied, 16 s, 66.7 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 16.0867 s, 66.7 MB/s

fio QD 1
Run status group 0 (all jobs):
  WRITE: bw=64.2MiB/s (67.3MB/s), 64.2MiB/s-64.2MiB/s (67.3MB/s-67.3MB/s), io=7700MiB (8074MB), run=120006-120006msec

Run status group 1 (all jobs):
   READ: bw=138MiB/s (145MB/s), 138MiB/s-138MiB/s (145MB/s-145MB/s), io=16.2GiB (17.4GB), run=120003-120003msec

fio QD 8
Run status group 0 (all jobs):
  WRITE: bw=137MiB/s (144MB/s), 137MiB/s-137MiB/s (144MB/s-144MB/s), io=16.0GiB (17.2GB), run=120050-120050msec

Run status group 1 (all jobs):
   READ: bw=138MiB/s (145MB/s), 138MiB/s-138MiB/s (145MB/s-145MB/s), io=16.2GiB (17.4GB), run=120061-120061msec

Model Family:     Seagate IronWolf Pro
Device Model:     ST6000NE0023-2EX110

dd
user@lunar:~$ sudo dd if=/dev/urandom of=/dev/sdc bs=1M count=1k status=progress oflag=direct
1072693248 bytes (1.1 GB, 1023 MiB) copied, 14 s, 76.6 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 14.0178 s, 76.6 MB/s

fio QD 1
Run status group 2 (all jobs):
  WRITE: bw=77.7MiB/s (81.5MB/s), 77.7MiB/s-77.7MiB/s (81.5MB/s-81.5MB/s), io=9329MiB (9782MB), run=120003-120003msec

Run status group 3 (all jobs):
   READ: bw=222MiB/s (232MB/s), 222MiB/s-222MiB/s (232MB/s-232MB/s), io=26.0GiB (27.9GB), run=120001-120001mse

fio QD 8
Run status group 2 (all jobs):
  WRITE: bw=222MiB/s (233MB/s), 222MiB/s-222MiB/s (233MB/s-233MB/s), io=26.0GiB (27.9GB), run=120032-120032msec

Run status group 3 (all jobs):
   READ: bw=222MiB/s (233MB/s), 222MiB/s-222MiB/s (233MB/s-233MB/s), io=26.1GiB (28.0GB), run=120034-120034msec


Je tam pěkně poznat, že se po zvýšení QD propustnost při zápisu víceméně srovná se čtením.
Jinak finální výkon a optimalizace celého systému pro daný workload má spoustu aspektů, co to můžou ovlivnit.
Tohle je ideální kombinace velkého bloku a příhodného QD, a hází to víceméně maximální propustnost pro rotační disky na začátku plotny.

192
Server / Re:HP microserver GEN8 pomalý zapis na disky
« kdy: 02. 11. 2023, 00:14:18 »
Ještě jsem mkrnul do biosi a radič byl v modu Legacy tak se omluvám za mystifikaci, přepnul jsem ho do AHCI (někde jsem ale četl, že by to na výkon nemělo mít vliv). V gparted se teď dostanu na 60MB/s viz příloha. Pořád je to ale polovina. sde je SSD.

Tak to bylo tím. Legacy režim emuluje režim UltraATA (staré paralelní IDE), které má reálná maxima okolo těch původních hodnot.
Naměřených 60-70 MB/s je takhle napřímo přes dd do točivého SATA disku a bez další optimalizace scheduleru zařízení v Linuxu normální. Oproti těm 20 MB/s předtím, to byl exces.

Důvod je ten, že za této situace (s dd) se do zařízení zapisuje typicky jeden blok současně a je tam aktivní jeden I/O request. Jinými slovy - queue depth je 1  (z max. 32 u SATA zařízení) a zdaleka se nevyužije možnost efektivnějšího přenosu a optimalizace zápisu do disku.
Čtení ve výchozím nastavení scheduleru je trochu jiné, tam se ještě projeví přednačítání bloků (read-ahead), takže to se i takhle s dd a bez optimalizace přiblíží maximální propustnosti z disku.

Nebál bych se toho, v reálném provozu a s případnou další optimalizací bude ta rychlost sekvenčního zápisu daleko vyšší. Podle mě se klidně dostanete na ten dvojnásobek. To dd bylo jen rychlá cesta, jak zjistit, že tam nemáte jiný problém.

193
Server / Re:HP microserver GEN8 pomalý zapis na disky
« kdy: 01. 11. 2023, 14:47:22 »
A co s tím pak v Linuxu udělá? Ten B120i RAID řadič měl nějaké poslední ovladače od HP do starého RHEL (6 když ten server uvedli, pár prvních releasu pro 7 možná). Když tam není tenhle ovladač, nevidíte to ani jako blokové zařízení (na rozdíl třeba od obecných fakeraidů Intel RST, RSTe)

194
Server / Re:HP microserver GEN8 pomalý zapis na disky
« kdy: 01. 11. 2023, 14:39:27 »
Každopádně, tím testem rovnou do těch blokových zařízení jste vyloučil jakýkoliv filesystém. Takže nemá moc smysl řešit optimalizace ZFS, BTRFS, nějakého MD RADIu atp., dokud se nerozsekne proč jsou tak pomalé ty samotné disky.

195
Server / Re:HP microserver GEN8 pomalý zapis na disky
« kdy: 01. 11. 2023, 14:36:43 »
To je fakt divný, ty disky by měly bez FS dávat daleko víc. Další divnost je, že je to na všech portech a discích +/- stejná hodnota.

Ten řadič HP B120i je takový divný hybrid, první dva porty mají 6Gbit SATA, druhé dva pak 3Gbit. Ale pořád i 3Gbit je to hodně nad tím, aby to limitovalo točivé disky.
Už si bohužel přesně nepamatuju, co jsem konkrétně předtím řešil za konfiguraci G8 a které tam bylo CPU (myslím, že ten slabší Celeron, ne Xeon), disky byly tuším HGST DC.

Nicméně podobný HP Gen8 Microserver se mi někdy tenhle týden dostane do ruky, můžu to zkusit změřit, dám vám vědět.

Ještě mě napadlo, kolik dává pro zajímavost to SSD, co máte na systém? Počítám, že je to připojené na stejném SATA řadiči místo interní CD mechaniky.. takže kdyby tam bylo úzké hrdlo, mělo by se to taky projevit.

Stran: 1 ... 11 12 [13] 14 15