Re: Pozor na harddisky s nedokumentovaným použitím SMR
Petr Labaj
labaj na volny.cz
Pátek Červen 5 04:45:27 CEST 2020
Tak jsem zkusil to "fio" na obou discích. Vždy na první i druhé
partition. První má 100 GB, druhá 900 GB.
Obě jsou plné skoro kompletně plné (cca 10 GB volného místa na každé).
Výsledky sem dávám jen v syrovém stavu.
Na těch discích jsou filesystémy z Windows, ale test probíhal na Linuxu.
Takže na ne-nativním filesystému.
Při spuštění na obou discích vyhlásil chybu "fio: native_fallocate call
failed: Operation not supported", ale pokračoval.
Příkaz a vypsaná hlavička:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
--name=test --filename=random_read_write.fio --bs=4k --iodepth=64
--size=4G --readwrite=randrw --rwmixread=75 --runtime=60 --time_based
test: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
4096B-4096B, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
test: Laying out IO file (1 file / 4096MiB)
fio: native_fallocate call failed: Operation not supported
Výsledky:
********* Disk Seagate ST2000DM008 se SMR, systémová partiton 100GB:
Jobs: 1 (f=1): [m(1)][100.0%][r=608KiB/s,w=196KiB/s][r=152,w=49
IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=3375: Fri Jun 5 04:07:43 2020
read: IOPS=150, BW=602KiB/s (617kB/s)(35.4MiB/60174msec)
bw ( KiB/s): min= 200, max= 800, per=99.59%, avg=599.56,
stdev=85.90, samples=120
iops : min= 50, max= 198, avg=149.88, stdev=21.44, samples=120
write: IOPS=50, BW=202KiB/s (207kB/s)(11.9MiB/60174msec)
bw ( KiB/s): min= 88, max= 328, per=99.83%, avg=200.67,
stdev=45.37, samples=120
iops : min= 22, max= 82, avg=50.17, stdev=11.34, samples=120
cpu : usr=0.37%, sys=1.18%, ctx=15306, majf=0, minf=9
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.3%,
>=64=99.5%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%,
>=64=0.0%
issued rwt: total=9059,3035,0, short=0,0,0, dropped=0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=602KiB/s (617kB/s), 602KiB/s-602KiB/s (617kB/s-617kB/s),
io=35.4MiB (37.1MB), run=60174-60174msec
WRITE: bw=202KiB/s (207kB/s), 202KiB/s-202KiB/s (207kB/s-207kB/s),
io=11.9MiB (12.4MB), run=60174-60174msec
Disk stats (read/write):
sdb: ios=7281/2531, merge=0/3, ticks=57024/1566828, in_queue=1653208,
util=95.67%
********* Disk Seagate ST2000DM008 se SMR, datová partiton 900GB:
Jobs: 1 (f=1): [m(1)][100.0%][r=728KiB/s,w=232KiB/s][r=182,w=58
IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=3389: Fri Jun 5 04:13:27 2020
read: IOPS=179, BW=718KiB/s (735kB/s)(42.2MiB/60145msec)
bw ( KiB/s): min= 440, max= 904, per=99.54%, avg=714.68,
stdev=81.01, samples=120
iops : min= 110, max= 226, avg=178.67, stdev=20.25, samples=120
write: IOPS=59, BW=239KiB/s (245kB/s)(14.1MiB/60145msec)
bw ( KiB/s): min= 128, max= 416, per=99.78%, avg=238.47,
stdev=51.91, samples=120
iops : min= 32, max= 104, avg=59.62, stdev=12.98, samples=120
cpu : usr=0.43%, sys=1.37%, ctx=18161, majf=0, minf=10
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%,
>=64=99.6%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%,
>=64=0.0%
issued rwt: total=10797,3601,0, short=0,0,0, dropped=0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=718KiB/s (735kB/s), 718KiB/s-718KiB/s (735kB/s-735kB/s),
io=42.2MiB (44.2MB), run=60145-60145msec
WRITE: bw=239KiB/s (245kB/s), 239KiB/s-239KiB/s (245kB/s-245kB/s),
io=14.1MiB (14.7MB), run=60145-60145msec
Disk stats (read/write):
sdb: ios=8451/3428, merge=0/3425, ticks=56680/1623808,
in_queue=1680472, util=95.31%
********* Starší serverový disk Seagate 2 TB, systémová partiton 100GB:
Jobs: 1 (f=1): [m(1)][100.0%][r=340KiB/s,w=120KiB/s][r=85,w=30 IOPS][eta
00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=3549: Fri Jun 5 04:33:07 2020
read: IOPS=178, BW=712KiB/s (729kB/s)(41.0MiB/60358msec)
bw ( KiB/s): min= 152, max= 992, per=99.91%, avg=711.34,
stdev=201.12, samples=120
iops : min= 38, max= 248, avg=177.83, stdev=50.28, samples=120
write: IOPS=59, BW=238KiB/s (243kB/s)(14.0MiB/60358msec)
bw ( KiB/s): min= 24, max= 416, per=100.00%, avg=237.33,
stdev=79.32, samples=120
iops : min= 6, max= 104, avg=59.33, stdev=19.83, samples=120
cpu : usr=0.42%, sys=1.39%, ctx=18053, majf=0, minf=9
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%,
>=64=99.6%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%,
>=64=0.0%
issued rwt: total=10748,3586,0, short=0,0,0, dropped=0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=712KiB/s (729kB/s), 712KiB/s-712KiB/s (729kB/s-729kB/s),
io=41.0MiB (44.0MB), run=60358-60358msec
WRITE: bw=238KiB/s (243kB/s), 238KiB/s-238KiB/s (243kB/s-243kB/s),
io=14.0MiB (14.7MB), run=60358-60358msec
Disk stats (read/write):
sdb: ios=8023/2452, merge=0/1, ticks=56788/1394340, in_queue=1514216,
util=94.81%
********* Starší serverový disk Seagate 2 TB, datová partiton 900GB:
Jobs: 1 (f=1): [m(1)][100.0%][r=860KiB/s,w=252KiB/s][r=215,w=63
IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=3530: Fri Jun 5 04:29:34 2020
read: IOPS=171, BW=687KiB/s (703kB/s)(40.3MiB/60059msec)
bw ( KiB/s): min= 216, max= 1032, per=99.70%, avg=683.97,
stdev=221.82, samples=120
iops : min= 54, max= 258, avg=170.98, stdev=55.45, samples=120
write: IOPS=57, BW=230KiB/s (235kB/s)(13.5MiB/60059msec)
bw ( KiB/s): min= 40, max= 424, per=99.62%, avg=228.13,
stdev=88.96, samples=120
iops : min= 10, max= 106, avg=57.03, stdev=22.24, samples=120
cpu : usr=0.33%, sys=1.41%, ctx=17351, majf=0, minf=7
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%,
>=64=99.5%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%,
>=64=0.0%
issued rwt: total=10311,3447,0, short=0,0,0, dropped=0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=687KiB/s (703kB/s), 687KiB/s-687KiB/s (703kB/s-703kB/s),
io=40.3MiB (42.2MB), run=60059-60059msec
WRITE: bw=230KiB/s (235kB/s), 230KiB/s-230KiB/s (235kB/s-235kB/s),
io=13.5MiB (14.1MB), run=60059-60059msec
Disk stats (read/write):
sdb: ios=7741/2689, merge=0/2691, ticks=56992/1838580,
in_queue=1895556, util=95.40%
*********************
Dne 4.6.2020 v 16:22 Josef Dvoracek napsal(a):
> jen bych poznamenal, že dle mého porozumění problematiky je SMR spíše
> háklivé na náhodný přístup na disk.., když jde přístup na tzv. šindele
> sekvenčně za sebou, tak by ke zpomalení dojít nemělo.
>
> Pokud máte chuť, tady je nějaká cmdline benchmarku, kterým jsem kdysi
> zkoušel nějaký svůj cluster, fio je standardně dostupné ve všech
> běžných distribucích:
>
> fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
> --name=test --filename=random_read_write.fio --bs=4k --iodepth=64
> --size=4G --readwrite=randrw --rwmixread=75 --runtime=60 --time_based
>
> bylo by zajímavé, pokud byste výše zmíněnou cli spustil v nějakém
> prázdném adresáři obou disků..Test vždy poběží 60 sec a uvidíte, kolik
> práce stihnul..
> Není potřeba root, zabere 4G místa.
>
> JD
Další informace o konferenci Hw-list