Uživatelský test: 8TB Seagate Archive na „domácí zálohování internetu“
Kapitoly článků
Jak jsem tak prováděl testy ve vzdáleném připojení, došel jsem až do stádia, kdy disk začal vykazovat něco, co bych si s drzostí sobě vlastní dovolil nazvat „aktivní nečinností“. Ve skutečnosti se nejednalo o nečinnost, protože disk samou „radostí“ z požadavků na náhodné zápisy nevěděl, kam dřív skočit. A tak se stala zajímavá věc, která vás v praxi zaručeně nepotěší: disk prostě a jednoduše přestal přijímat další data. Ne, že by házel chyby, ale měl dlouhé odezvy. Velmi dlouhé. Dostáváme se lehce k vysvětlení těch mnohasekundových lagů z recenze na StorageReview.
IOMeter - zápis: 8MiB bloky, z 50 % náhodný
To jsem si takhle pustil test v IOMeteru (něco jako tutus brutus na SSD) a ve výsledku pak pozoruji dlouhé výpadky. Celý graf odpovídá 15 minutám testu a uprostřed je zřetelná několikaminutová díra.
Další test nevypadal o nic veseleji:
IOMeter - zápis: 1MiB bloky, z 50 % náhodný
Zkusil jsem to s menšími bloky a pohořel jsem ještě víc. Test se prakticky pár minut po započetí testu zasekl.
Začal jsem (stále připojen vzdáleně) tušit nějaký problém a zkusil PC restartovat. Pak jsem pustil další test a záhy jsem ho přerušil, protože to nemělo smysl:
Po restartu: IOMeter - zápis: 64MiB bloky, 50 % náhodný, po chvilce přerušeno
IOMeter - ukázka zahlcení disku
Začal jsme podezřívat IOMeter, protože už se mi párkrát v minulosti stalo, že se zbláznil a začal dělat psí kusy. Pustil jsem cvičně CrystalDiskMark a sledoval ve správci úloh zátěž disku. Test byl zahájen a v podstatě i doběhl, ale trval dost dlouho. Tak dlouho, že jsem byl schopen zaznamenat několik zajímavých úkazů. Všechny měly několik společných jmenovatelů: vysoká zátěž spolu s nulovou přenosovou rychlostí. Jinými slovy nezdravě dlouhá doba odezvy na požadavek. Tentokrát jsem vytrval, nechal jsem to doběhnout a po očku jsem sledoval, co se děje. Na obrázcích níže sledujte se mnou dobu odezvy ve správci úloh a systémový čas.
(Sledujte mj. čas snímků vpravo dole)
Rychlosti zápisu 4,1 kB/s přibližně odpovídaly zapsanému jednomu „fyzickému sektoru“ (4096 bajtů) za požadavek, přičemž udávané odezvy hovořily o šílených desítkách tisíc milisekund neboli desítkách sekund. Vlastně jsem se reálně dostal na odezvu v řádu minut.
Protože se ale nikde neobjevila žádná chyba (ani v logu, ani nikde jinde, což mě překvapilo, čekal jsem nějaký zlý timeout), poslouchal jsem, co vlastně disk dělá. Pár disků jsem už za svůj život slyšel a tak nějak podle zvuku ramene s hlavičkami docela spolehlivě poznám, když se disk opakovaně snaží vypořádat s vadným sektorem. To ale rozhodně nebyl tento případ. Disk evidentně pracoval. Podle zvuku přesouval data ve větších blocích, v podstatě to klidně mohly být i ty ~128MB dávky odpovídající velikosti DRAM bufferu. Odkud kam přesouval, to jsem samozřejmě nebyl schopen poznat (a nepoznal bych to asi ani kdybych měl disk otevřený a viděl, co rameno s hlavami dělá).
Že se nejedná o aktivitu operačního systému, jsem poznal velmi snadno: indikační HDD LED téměř ani neblikla. Abych se ujistil, že to nemá s diskem nic společného, prostě jsem disk odpojil od SATA kabelu. Disk pracoval dál, jako by se nic zvláštního nestalo. Pořád přehazoval data jak uhlí lopatou. A vydrželo mu to celkem dlouho.
Napadlo mě, že by asi mohl být průšvih, kdyby se disku během této práce odpojilo napájení. Protože se ale takové věci stávají, udělal jsem to a po zastavení ploten jsem jej znovu zapojil. Disk po roztočení, inicializaci a krátké prodlevě opět začal přehazovat data. Bylo zřejmé, že uklízí po náročné šichtě náhodných zápisů. Z předchozí zkušenosti, kdy bylo jasné, že náhodné zápisy sype na plotny sekvenčně, vyplývalo, že si je prostě v době klidu rozhazoval tam, kam fyzicky patří (a soudě dle dlouhých lagů to zkoušel i v době, kdy jsem po něm stále chtěl, aby přijímal další data - neměl totiž kam sypat další, tak musel nejdřív uklízet a až pak byl schopen přijmout další data a do té doby se se mnou odmítal bavit).
Toto zahlcení pak může skutečně vypadat jako zátuh počítače. I obyčejná inicializace disku (zapsání tabulky oddílů typu GPT a vytvoření diskového oddílu) může trvat až nepříjemně dlouho, je-li disk zrovna ve stavu „vysoké podroušenosti“. Za normálních okolností to trvá i s tímto diskem pár sekund, jako s každým jiným.
Diskpart - create partition primary - cca 25 minut
Je tedy zřejmé, že disk zápisy na náhodná místa realizuje nejprve sekvenčně a až pak, když má čas, nebo když mu dojde místo pro tyto náhodné zápisy, začne data uklízet na místo, kam patří. Otázkou je, jak velká je vlastně ta oblast, která je určena pro náhodné zápisy. K tomu jsem v IOMeteru vytvořil následující úlohu: 100% náhodné zápisy, velikost zapsaných dat 64 KiB. Disk jsem nechal několik dní v klidu, aby bylo jasné, že všechna data jsou tam, kde mají být a disková cache pro náhodné zápisy je „prázdná“. Tomuto testu jsem nastavil dostatečně dlouhou dobu trvání a sledoval, kolik se zapíše celkem dat, než se disk brutálně zpomalí.
Trvalo to chviličku, jen dvě a čtvrt minuty. Během tohoto času se průměrnou rychlostí lehce pod 90 MB/s průměrnými 1330 IOPSy zapsalo něco přes 11 GiB, neboli necelých 12 GB. Tolik zápisů menších než 1 zóna disk snese na jeden zátah. Šlo by to samozřejmě i rychleji, ale já neřešil paralelizaci nebo větší bloky, dělal jsem to podobně jednoduše jako HD Tune na předchozí stránce, který též u 64KiB bloků došel k číslu něco přes 80 MB/s a lehce přes 1300 IOPS. I tak je průměrná přístupová doba v takovém případě pod 1 ms.
Poté se tedy disk zpomalil na brutální hodnotu a začala se z něj ozývat intenzivní práce. A teď se prosím pěkně ujistěte, že sedíte, protože vám řeknu, jak přibližně dlouho tato práce trvala, než se disk uklidnil: bylo to více než 14 hodin (pak už mi v záznamníku došlo místo a když jsem na to po dalších 5 hodinách přišel, disk už byl klidný, takže to bylo něco mezi 14 a 19 hodinami - zkrátka dost dlouho na to, že tuto činnost vygenerovala práce trvající pouhých 2 a ¼ minuty).
Neznamená to, že po necelých 12 GB náhodných zápisů musíte tak dlouho čekat, než na disk něco zapíšete, ale počítejte s tím, že rychlost zápisu klesá poměrně rychle až na jednotky sektorů za minutu. Disk je prostě určen primárně pro velké sekvenční zápisy, takže při výběru s tím počítejte.