iSCSI rozdílná rychlost write/read

iSCSI rozdílná rychlost write/read
« kdy: 10. 12. 2021, 14:47:58 »
Ahoj,
mam do Proxmoxu (Debian) připojený diskový pole Dell přes jeden switch a všechno se zdá být v pořádku. Logy, tcpdump, atd. Ale rychlost při zápisu do takhle pripojeného disku (přes mount, nfs..) je 100x větší než rychlost čtení?

Potkal se s něčím podobným už někdo?


PanVP

Re:iSCSI rozdílná rychlost write/read
« Odpověď #1 kdy: 10. 12. 2021, 14:59:33 »
Ta hodnota 100x větší je těžko uchopitelná, dokážeš jí převést na fábie nebo fotbalové hřiště?

Z tvého postu není jasné vůbec nic, jen to, že se neumíš zeptat.
Ale obecně, podle nastavení se může zapisovat nejprve do Cache = zápis do paměti, skutečný zápis na disk může probíhat až později, až se to hodí (NCQ) atd.

Při čtení se naopak musí číst rovnou...může tam hrát roli fragmentace disku atd.

Prostě tu chybí informace:
Jaké soubory čteš (hodně malých)
Jestli je to diskové pole nebo SSD
Jaký druh raidu
Jaký typ cache
Kolik cache
iSCSI ale jak řešené...souborově nebo direct storage/LUN...

A pak takové ty ty věci z Htop a podobně, jako IOPS, requesty atd.

Prostě takové ty věci, které jsou potřeba na vyřešení takového dotazu.
« Poslední změna: 10. 12. 2021, 15:04:30 od PanVP »

Re:iSCSI rozdílná rychlost write/read
« Odpověď #2 kdy: 10. 12. 2021, 15:17:01 »
Máš pravdu, zkusím to dát dohromady.

Jaké soubory čteš (hodně malých) - Jeden velký 5/10GB
Jestli je to diskové pole nebo SSD - diskovové pole s SAS disky
Jaký druh raidu - RAID6
Jaký typ cache -to nevím jak zjistit :(
Kolik cache ?
iSCSI ale jak řešené...souborově nebo direct storage/LUN... - Myslim, že to není direct, protože je to přes switch, ale jsou tam LUNy. To úložiště umí jen iSCSI, FB a ještě něco.

Co myslíš tím htop? iopsy bych předpokládám měl dostat od výrobce a requesty nevim :(

Test rychlosti zápisu jsem dělal přes dd if=/dev/zero of=/mnt/test2.img bs=1G count=5 oflag=direct status=progress a čtení přes mc.

czipis

  • ***
  • 203
    • Zobrazit profil
    • E-mail
Re:iSCSI rozdílná rychlost write/read
« Odpověď #3 kdy: 10. 12. 2021, 15:46:23 »
pro ten test tam nezapisuj nuly. to pole muze mit klidne detekci toho co posila a ty nuly rovnou potvrzovat. nejdriv si vytvor nejakej soubor, ktery je pro jistotu i nekomprimovatelny (dd if=/dev/urandom of=balast) a ten mu tam pak zkus nahrat (dd if=balast of=/mnt/test1). cteni bych pro test taky pak udelal tim dd if=/mnt/test1 of=balast2).

Re:iSCSI rozdílná rychlost write/read
« Odpověď #4 kdy: 10. 12. 2021, 16:10:21 »
Teď jsem na tom hostu zkusil tohle:

Kód: [Vybrat]
root@vig-node1:~# fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=4k --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --end_fsync=1
random-write: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=1
fio-3.25
Starting 1 process
random-write: Laying out IO file (1 file / 4096MiB)
Jobs: 1 (f=1): [w(1)][100.0%][eta 00m:00s]                         
random-write: (groupid=0, jobs=1): err= 0: pid=47978: Fri Dec 10 15:52:41 2021
  write: IOPS=86.0k, BW=340MiB/s (356MB/s)(20.0GiB/60280msec); 0 zone resets
    slat (nsec): min=470, max=289886, avg=1861.87, stdev=392.96
    clat (nsec): min=199, max=775277, avg=7798.09, stdev=1442.14
     lat (usec): min=7, max=776, avg= 9.66, stdev= 1.58
    clat percentiles (nsec):
     |  1.00th=[ 7008],  5.00th=[ 7136], 10.00th=[ 7200], 20.00th=[ 7264],
     | 30.00th=[ 7392], 40.00th=[ 7456], 50.00th=[ 7520], 60.00th=[ 7648],
     | 70.00th=[ 7776], 80.00th=[ 8032], 90.00th=[ 8512], 95.00th=[ 9152],
     | 99.00th=[12224], 99.50th=[14784], 99.90th=[21120], 99.95th=[23680],
     | 99.99th=[27776]
   bw (  KiB/s): min=67864, max=414800, per=100.00%, avg=384733.71, stdev=62276.30, samples=109
   iops        : min=16966, max=103702, avg=96183.39, stdev=15569.07, samples=109
  lat (nsec)   : 250=0.01%
  lat (usec)   : 10=97.16%, 20=2.72%, 50=0.12%, 100=0.01%, 250=0.01%
  lat (usec)   : 500=0.01%, 750=0.01%, 1000=0.01%
  cpu          : usr=14.53%, sys=41.85%, ctx=5341844, majf=0, minf=861
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     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.0%, >=64=0.0%
     issued rwts: total=0,5242881,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=340MiB/s (356MB/s), 340MiB/s-340MiB/s (356MB/s-356MB/s), io=20.0GiB (21.5GB), run=60280-60280msec

Disk stats (read/write):
    dm-1: ios=0/755866, merge=0/0, ticks=0/77224, in_queue=77224, util=16.31%, aggrios=43/795520, aggrmerge=0/846, aggrticks=372/77953, aggrin_queue=78324, aggrutil=19.30%
  sda: ios=43/795520, merge=0/846, ticks=372/77953, in_queue=78324, util=19.30%

root@vig-node1:~# mount /dev/sdf /mnt/test/
root@vig-node1:~# ls -lah /mnt/test/
total 5.1G
drwxr-xr-x 3 root root 4.0K Dec 10 08:12 .
drwxr-xr-x 4 root root 4.0K Dec  9 10:43 ..
drwx------ 2 root root  16K Dec  7 13:45 lost+found
-rw-r--r-- 1 root root 5.0G Dec 10 09:16 test2.img
root@vig-node1:~# fio --filename=/mnt/test/test2.img --direct=1 --rw=randread --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1 --readonly
iops-test-job: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=256
...
fio-3.25
Starting 4 processes
Jobs: 4 (f=4): [r(4)][2.5%][r=16.4MiB/s][r=4206 IOPS][eta 01m:57s]
...
Jobs: 4 (f=4): [r(4)][99.2%][r=18.2MiB/s][r=4647 IOPS][eta 00m:01s]
Jobs: 4 (f=4): [r(4)][100.0%][r=17.0MiB/s][r=4606 IOPS][eta 00m:00s]
iops-test-job: (groupid=0, jobs=4): err= 0: pid=49114: Fri Dec 10 15:59:53 2021
  read: IOPS=4410, BW=17.2MiB/s (18.1MB/s)(2069MiB/120067msec)
    slat (usec): min=2, max=228895, avg=902.74, stdev=3525.22
    clat (msec): min=60, max=850, avg=231.07, stdev=56.95
     lat (msec): min=66, max=850, avg=231.98, stdev=57.06
    clat percentiles (msec):
     |  1.00th=[  161],  5.00th=[  174], 10.00th=[  182], 20.00th=[  192],
     | 30.00th=[  203], 40.00th=[  213], 50.00th=[  224], 60.00th=[  232],
     | 70.00th=[  243], 80.00th=[  253], 90.00th=[  271], 95.00th=[  305],
     | 99.00th=[  477], 99.50th=[  493], 99.90th=[  558], 99.95th=[  617],
     | 99.99th=[  684]
   bw (  KiB/s): min= 7824, max=20160, per=99.95%, avg=17633.44, stdev=548.39, samples=956
   iops        : min= 1956, max= 5040, avg=4408.36, stdev=137.10, samples=956
  lat (msec)   : 100=0.03%, 250=77.20%, 500=22.43%, 750=0.33%, 1000=0.01%
  cpu          : usr=0.49%, sys=1.71%, ctx=74082, majf=0, minf=2110
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
     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.0%, >=64=0.1%
     issued rwts: total=529559,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=256

Run status group 0 (all jobs):
   READ: bw=17.2MiB/s (18.1MB/s), 17.2MiB/s-17.2MiB/s (18.1MB/s-18.1MB/s), io=2069MiB (2169MB), run=120067-120067msec

Disk stats (read/write):
  sdf: ios=528645/4, merge=182/1, ticks=30042868/34, in_queue=30042903, util=100.00%


Re:iSCSI rozdílná rychlost write/read
« Odpověď #5 kdy: 10. 12. 2021, 16:21:20 »
Kód: [Vybrat]
root@vig-node1:~# dd if=/dev/urandom of=/mnt/test3
^C7335408+0 records in
7335407+0 records out
3755728384 bytes (3.8 GB, 3.5 GiB) copied, 29.2377 s, 128 MB/s

root@vig-node1:/mnt# dd if=/mnt/test of=/mnt/test/test2.img bs=1G count=5 oflag=direct status=progress
test/  test3 
root@vig-node1:/mnt# dd if=/mnt/test3 of=/mnt/test/test4 oflag=direct status=progress
57174528 bytes (57 MB, 55 MiB) copied, 55 s, 1.0 MB/s^C
113569+0 records in
113569+0 records out
58147328 bytes (58 MB, 55 MiB) copied, 55.918 s, 1.0 MB/s
[b]CTRL+C[/b]
root@vig-node1:/mnt# dd if=/mnt/test3 of=/mnt/test/test4 status=progress
3623843840 bytes (3.6 GB, 3.4 GiB) copied, 10 s, 362 MB/s
7335407+0 records in
7335407+0 records out
3755728384 bytes (3.8 GB, 3.5 GiB) copied, 77.9442 s, 48.2 MB/s
root@vig-node1:/mnt# dd of=/mnt/test3 if=/mnt/test/test4 status=progress
3744973312 bytes (3.7 GB, 3.5 GiB) copied, 10 s, 374 MB/s
7335407+0 records in
7335407+0 records out
3755728384 bytes (3.8 GB, 3.5 GiB) copied, 10.8221 s, 347 MB/s
« Poslední změna: 10. 12. 2021, 16:29:21 od metalmaus »

PanVP

Re:iSCSI rozdílná rychlost write/read
« Odpověď #6 kdy: 11. 12. 2021, 11:41:57 »
Nějak se mi nechce tvůj výstup studovat.
Jako dokázal bych ti poradit, ale nechce se mi namáhat, když jsi se moc nenamáhal sám, hmmm.

Třeba se předvede někdo jiný, kdo to předžvýká a hodí sem zpracované.

Re:iSCSI rozdílná rychlost write/read
« Odpověď #7 kdy: 12. 12. 2021, 09:41:49 »
Chápu. Vidim iSCSI tejden a nějak se v tom nevyznám. Naklikat něco ve webaminu a připojit do switche (i když to nevím) nebo napřímo dokážu a pak už udělat jen těch pár testů. Sorry.

PanVP

Re:iSCSI rozdílná rychlost write/read
« Odpověď #8 kdy: 12. 12. 2021, 13:31:02 »
Chápu. Vidim iSCSI tejden a nějak se v tom nevyznám. Naklikat něco ve webaminu a připojit do switche (i když to nevím) nebo napřímo dokážu a pak už udělat jen těch pár testů. Sorry.

Neomlouvej se, učíš se to, o nic nejde :)
Ale když budeš chtít příště poradit, musíš poskytnout pořádnou součinnost a problém sám trochu znát.

Re:iSCSI rozdílná rychlost write/read
« Odpověď #9 kdy: 12. 12. 2021, 17:37:48 »
No já jsem si trochu početl a moc moudrej z toho nejsem.

Ten sekvenční zápis resp. čtení: o jakých rychlostech se tu konkrétně bavíme?
Jak rychlá je síť k tomu iSCSI storagi?
Pokud je povolená writeback cache, může jet zápis rychlostí té sítě - ale pokud je storage box vytížený, pojede čtení žalostně pomalu, protože se "testovací stream" málokdy dostane k lizu = aby disky sáhly hlavičkami tam, kam zrovna já potřebuju.

Ještě mě napadá, jestli některý síťový port po cestě není nastavený na half duplex :-)

Re:iSCSI rozdílná rychlost write/read
« Odpověď #10 kdy: 12. 12. 2021, 21:04:12 »
Ono na té síti to může být všelijaký nešvar. Koukal bych na počítadla errorů. A wiresharkem na klientu jestli nejsou vidět retransmise (wireshark je hezky obarví).

Jestli jsou to točivé disky, může být, že jeden konkrétní vadný disk brzdí celý RAID. Viděl jsem případy, kdy disk sice z pole nevypadl, ale všecko mu hrozně trvalo (čtení) protože data páčil z plotny zuby nehty z posledních sil. To pak vypadá tak, že z celého pole jedinému disku trvale svítí activity LED, ostatní si jenom tu a tam mrknou.

Co se dá zjistit na tom iSCSI storagi? Kdyby to byl linuxový stroj s přístupem do shellu, tak by tam bylo vidět poměrně dost, ale pokud je to černá skříňka (iSCSI/FC), tak možná nezjistíte nic moc.

= samozřejmě je otázkou, kam všude vidíte.

RDa

  • *****
  • 1 996
    • Zobrazit profil
    • E-mail
Re:iSCSI rozdílná rychlost write/read
« Odpověď #11 kdy: 13. 12. 2021, 00:36:04 »
Asymetricke rychlosti byvaj, kdyz se blbe nastavi MTU na stanicih.