Radio sam jos malo citanja, testiranja, istrazivanja. Podigao sam taj B1S do maksimuma, ne moze da se predje 400IOPSa nikako.
Elem, apropo performansi...:
https://docs.microsoft.com/en-...machines/windows/sizes-general
Znaci 10% performansi jednog CPU jezgra, 10MB/s (mada sam to nekako zaobisao?), 400 IOPSa sa lokalnim kesiranjem, 320 IOPSa bez kesiranja.
Nesto ne verujem da ce biti extra popularni kod onih kojima treba i VM okruzenje.
Malo testova sa izmaxovanom masinom:
4k fajlovi:
Code:
[root@RHEL ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=4k --iodepth=64 --size=512M --readwrite=randread
test: (g=0): rw=randread, 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 / 512MiB)
Jobs: 1 (f=1): [r(1)][100.0%][r=1400KiB/s,w=0KiB/s][r=350,w=0 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=1853: Thu Dec 20 11:33:13 2018
read: IOPS=407, BW=1629KiB/s (1668kB/s)(512MiB/321896msec)
bw ( KiB/s): min= 1432, max= 1784, per=100.00%, avg=1629.00, stdev=13.83, samples=643
iops : min= 358, max= 446, avg=407.21, stdev= 3.46, samples=643
cpu : usr=0.12%, sys=0.37%, ctx=22521, majf=0, minf=91
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.1%, >=64=0.0%
issued rwt: total=131072,0,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=1629KiB/s (1668kB/s), 1629KiB/s-1629KiB/s (1668kB/s-1668kB/s), io=512MiB (537MB), run=321896-321896msec
Disk stats (read/write):
sda: ios=131275/61, merge=1/7, ticks=20620512/12231, in_queue=20634109, util=100.00%
64k fajlovi:
Code:
[root@RHEL ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=64k --iodepth=64 --size=1G --readwrite=randread
test: (g=0): rw=randread, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=21.9MiB/s,w=0KiB/s][r=351,w=0 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=29083: Thu Dec 20 11:50:25 2018
read: IOPS=351, BW=21.9MiB/s (23.0MB/s)(1024MiB/46675msec)
bw ( KiB/s): min=22272, max=24704, per=99.95%, avg=22454.59, stdev=244.84, samples=93
iops : min= 348, max= 386, avg=350.81, stdev= 3.84, samples=93
cpu : usr=0.12%, sys=0.62%, ctx=5485, majf=0, minf=541
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=16384,0,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=21.9MiB/s (23.0MB/s), 21.9MiB/s-21.9MiB/s (23.0MB/s-23.0MB/s), io=1024MiB (1074MB), run=46675-46675msec
Disk stats (read/write):
sda: ios=16397/1, merge=1/0, ticks=2983255/388, in_queue=2986284, util=99.84%
128k fajlovi:
Code:
[root@RHEL ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=128k --iodepth=64 --size=1G --readwrite=randread
test: (g=0): rw=randread, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=21.9MiB/s,w=0KiB/s][r=175,w=0 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=29346: Thu Dec 20 11:59:39 2018
read: IOPS=175, BW=21.9MiB/s (23.0MB/s)(1024MiB/46667msec)
bw ( KiB/s): min=14080, max=24832, per=99.60%, avg=22378.54, stdev=912.71, samples=93
iops : min= 110, max= 194, avg=174.82, stdev= 7.13, samples=93
cpu : usr=0.05%, sys=0.47%, ctx=4383, majf=0, minf=543
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.2%, 32=0.4%, >=64=99.2%
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=8192,0,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=21.9MiB/s (23.0MB/s), 21.9MiB/s-21.9MiB/s (23.0MB/s-23.0MB/s), io=1024MiB (1074MB), run=46667-46667msec
Disk stats (read/write):
sda: ios=8188/0, merge=0/0, ticks=2972869/0, in_queue=2974282, util=99.84%
1M:
Code:
[root@RHEL ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=1M --iodepth=64 --size=1G --readwrite=randread
test: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [r(1)][93.9%][r=0KiB/s,w=0KiB/s][r=0,w=0 IOPS][eta 00m:03s]
test: (groupid=0, jobs=1): err= 0: pid=29390: Thu Dec 20 12:01:00 2018
read: IOPS=21, BW=21.9MiB/s (22.0MB/s)(1024MiB/46696msec)
bw ( KiB/s): min=14336, max=24576, per=99.61%, avg=22368.16, stdev=1086.10, samples=88
iops : min= 14, max= 24, avg=21.83, stdev= 1.06, samples=88
cpu : usr=0.03%, sys=0.24%, ctx=1017, majf=0, minf=12836
IO depths : 1=0.1%, 2=0.2%, 4=0.4%, 8=0.8%, 16=1.6%, 32=3.1%, >=64=93.8%
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=99.9%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
issued rwt: total=1024,0,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=21.9MiB/s (22.0MB/s), 21.9MiB/s-21.9MiB/s (22.0MB/s-22.0MB/s), io=1024MiB (1074MB), run=46696-46696msec
Disk stats (read/write):
sda: ios=2051/21, merge=0/0, ticks=5767776/72450, in_queue=5843126, util=99.85%
Maxuje na 400 IOPSa i 22MB/s.
Poredjenja radi... Google cloud sa standardnim SSD storidzom (vm 1cpu/2gbRAM - slabija masina koju imam kod gc):
4k
Code:
[root@gcloud ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=4k --iodepth=64 --size=1G --readwrite=randread
test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=6004KiB/s,w=0KiB/s][r=1501,w=0 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=25772: Thu Dec 20 12:04:50 2018
read: IOPS=2101, BW=8405KiB/s (8607kB/s)(1024MiB/124753msec)
bw ( KiB/s): min= 5824, max=80136, per=100.00%, avg=8410.61, stdev=11339.22, samples=249
iops : min= 1456, max=20034, avg=2102.65, stdev=2834.81, samples=249
cpu : usr=1.49%, sys=4.88%, ctx=210792, majf=0, minf=91
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.1%, >=64=0.0%
issued rwt: total=262144,0,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=8405KiB/s (8607kB/s), 8405KiB/s-8405KiB/s (8607kB/s-8607kB/s), io=1024MiB (1074MB), run=124753-124753msec
Disk stats (read/write):
sda: ios=261940/31, merge=0/5, ticks=7965561/1491, in_queue=7968273, util=100.00%
1M:
Code:
[root@gcloud ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=1M --iodepth=64 --size=1G --readwrite=randread
test: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=240MiB/s,w=0KiB/s][r=240,w=0 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=25802: Thu Dec 20 12:05:57 2018
read: IOPS=244, BW=245MiB/s (257MB/s)(1024MiB/4184msec)
bw ( KiB/s): min=229376, max=245760, per=97.25%, avg=243712.00, stdev=5792.62, samples=8
iops : min= 224, max= 240, avg=238.00, stdev= 5.66, samples=8
cpu : usr=0.02%, sys=3.11%, ctx=158, majf=0, minf=16411
IO depths : 1=0.1%, 2=0.2%, 4=0.4%, 8=0.8%, 16=1.6%, 32=3.1%, >=64=93.8%
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=99.9%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
issued rwt: total=1024,0,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=245MiB/s (257MB/s), 245MiB/s-245MiB/s (257MB/s-257MB/s), io=1024MiB (1074MB), run=4184-4184msec
Disk stats (read/write):
sda: ios=4061/2, merge=0/0, ticks=579278/267, in_queue=584122, util=97.72%
Ponovio 1M test jer je ocigledno neki faktor bio umesan - RAM ili gc kesiranje:
Code:
[root@gcloud ~]# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=1M --iodepth=64 --size=4G --readwrite=randread
test: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=64
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [r(1)][99.2%][r=0KiB/s,w=0KiB/s][r=0,w=0 IOPS][eta 00m:01s]
test: (groupid=0, jobs=1): err= 0: pid=25844: Thu Dec 20 12:09:33 2018
read: IOPS=32, BW=32.0MiB/s (33.6MB/s)(4096MiB/127956msec)
bw ( KiB/s): min=16384, max=262144, per=99.59%, avg=32645.91, stdev=41853.49, samples=253
iops : min= 16, max= 256, avg=31.87, stdev=40.86, samples=253
cpu : usr=0.01%, sys=0.30%, ctx=546, majf=0, minf=16411
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.2%, 16=0.4%, 32=0.8%, >=64=98.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=4096,0,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=32.0MiB/s (33.6MB/s), 32.0MiB/s-32.0MiB/s (33.6MB/s-33.6MB/s), io=4096MiB (4295MB), run=127956-127956msec
Disk stats (read/write):
sda: ios=16376/25, merge=0/5, ticks=18224799/22649, in_queue=18260181, util=100.00%
Uradio test sa 256MB fajlom na Azureu, nikakvo kesiranje nije postojalo, brzine su ostale zakucane na 22MB/s.
Ako vam treba masina za testiranje aplikacija, development, i gledate neku od cloud opcija kako biste se pokrili "kod jednog provajdera", moj savet je da bezite od Azura. Bar sto se tice ovih VM-ova. Google cloud izadje mozda malcice skuplje ali je daleko kvalitetnije resenje jer za tih 25$ ili 25EUR dobijate sopstveno/nedeljeno jezgro i 1500 IOPSa (u mom slucaju koristi se 25GB SSD storidza) u radu sa 4k fajlovima.
Znaci, nebo i zemlja. GC 1vCPU+2GB RAM+25GB SSD izlazi oko 30-35$ sa sustained usage discountom (cena opada do te cifre u roku od mesec dana), MS trazi 10$ za vCPU+1GB RAM.
32GB disk sa 120 IOPSa = 6$
64GB / 240IOPS = 11$
128GB / 500IOPS = 22$.
Imajte u vidu da google isto daje deljena CPU jezgra za nekih 7$. Po meni, mnogo vise mogucnosti sa guglom.
THE ONLY EASY DAY WAS YESTERDAY