Size: a a a

PostgreSQL + 1C + Linux

2021 April 14

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
Запустите, пожалуйста,
fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME

Потому что Вы благополучно тестируете кеш диска, что для бд вообще не вариант :)
источник

LK

L K in PostgreSQL + 1C + Linux
fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 1 process
test: you need to specify size=
fio: pid=0, err=22/file:filesetup.c:1007, func=total_file_size, error=Invalid argument
источник

LK

L K in PostgreSQL + 1C + Linux
fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME -size=50G
источник

LK

L K in PostgreSQL + 1C + Linux
fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME -size=50G
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 1 process
test: Laying out IO file (1 file / 51200MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=1236KiB/s][w=309 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=2846: Wed Apr 14 16:34:59 2021
 write: IOPS=304, BW=1219KiB/s (1248kB/s)(71.4MiB/60002msec); 0 zone resets
   slat (usec): min=52, max=12810, avg=68.48, stdev=95.40
   clat (usec): min=4, max=157, avg=79.30, stdev=22.42
    lat (usec): min=111, max=12872, avg=148.72, stdev=97.78
   clat percentiles (usec):
    |  1.00th=[   55],  5.00th=[   55], 10.00th=[   56], 20.00th=[   56],
    | 30.00th=[   57], 40.00th=[   58], 50.00th=[   95], 60.00th=[   99],
    | 70.00th=[  100], 80.00th=[  101], 90.00th=[  103], 95.00th=[  104],
    | 99.00th=[  116], 99.50th=[  119], 99.90th=[  125], 99.95th=[  127],
    | 99.99th=[  135]
  bw (  KiB/s): min= 1064, max= 1264, per=100.00%, avg=1219.17, stdev=41.10, samples=120
  iops        : min=  266, max=  316, avg=304.78, stdev=10.28, samples=120
 lat (usec)   : 10=0.08%, 50=0.12%, 100=71.51%, 250=28.29%
 fsync/fdatasync/sync_file_range:
   sync (nsec): min=674, max=19952, avg=764.80, stdev=259.63
   sync percentiles (nsec):
    |  1.00th=[  732],  5.00th=[  740], 10.00th=[  740], 20.00th=[  748],
    | 30.00th=[  748], 40.00th=[  756], 50.00th=[  764], 60.00th=[  764],
    | 70.00th=[  772], 80.00th=[  772], 90.00th=[  780], 95.00th=[  788],
    | 99.00th=[  804], 99.50th=[  836], 99.90th=[  980], 99.95th=[ 1160],
    | 99.99th=[18816]
 cpu          : usr=0.87%, sys=4.72%, ctx=36596, majf=0, minf=13
 IO depths    : 1=200.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,18289,0,18289 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=1219KiB/s (1248kB/s), 1219KiB/s-1219KiB/s (1248kB/s-1248kB/s), io=71.4MiB (74.9MB), run=60002-60002msec

Disk stats (read/write):
   md0: ios=0/92106, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/73212, aggrmerge=0/37374, aggrticks=0/50898, aggrin_queue=408, aggrutil=99.82%
 nvme1n1: ios=0/73212, merge=0/37374, ticks=0/50741, in_queue=420, util=99.82%
 nvme0n1: ios=0/73212, merge=0/37374, ticks=0/51055, in_queue=396, util=99.82%
источник

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
304 иопс? У меня в ноуте на 850 получается немного больше, где-то 400 :D
источник

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
Ну учитывая что это десктопный ссд то в принципе не удивительно что у него производительность плавает
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
во. ноут мой)
источник

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
Это всё бесполезные цифры для БД, потому что crystaldiskmark не делает fsync.
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
ой. все
источник

LK

L K in PostgreSQL + 1C + Linux
Вот и я про то, 850:

user@lxd:~$ fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME -size=50G
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 1 process
test: Laying out IO file (1 file / 51200MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=1773KiB/s][w=443 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=7125: Wed Apr 14 16:37:20 2021
 write: IOPS=446, BW=1786KiB/s (1829kB/s)(105MiB/60001msec); 0 zone resets
   slat (nsec): min=6179, max=78919, avg=31523.45, stdev=6130.54
   clat (usec): min=23, max=3136, avg=96.93, stdev=23.95
    lat (usec): min=34, max=3201, avg=128.93, stdev=25.71
   clat percentiles (usec):
    |  1.00th=[   39],  5.00th=[   71], 10.00th=[   79], 20.00th=[   87],
    | 30.00th=[   92], 40.00th=[   97], 50.00th=[  102], 60.00th=[  104],
    | 70.00th=[  106], 80.00th=[  108], 90.00th=[  111], 95.00th=[  113],
    | 99.00th=[  117], 99.50th=[  119], 99.90th=[  123], 99.95th=[  131],
    | 99.99th=[  265]
  bw (  KiB/s): min= 1620, max= 2024, per=99.98%, avg=1785.70, stdev=101.55, samples=120
  iops        : min=  405, max=  506, avg=446.42, stdev=25.39, samples=120
 lat (usec)   : 50=1.27%, 100=44.36%, 250=54.36%, 500=0.01%, 1000=0.01%
 lat (msec)   : 4=0.01%
 fsync/fdatasync/sync_file_range:
   sync (nsec): min=68, max=18842, avg=460.82, stdev=744.13
   sync percentiles (nsec):
    |  1.00th=[  143],  5.00th=[  145], 10.00th=[  149], 20.00th=[  306],
    | 30.00th=[  422], 40.00th=[  426], 50.00th=[  434], 60.00th=[  442],
    | 70.00th=[  454], 80.00th=[  462], 90.00th=[  612], 95.00th=[  708],
    | 99.00th=[  804], 99.50th=[  852], 99.90th=[12864], 99.95th=[13120],
    | 99.99th=[15040]
 cpu          : usr=1.34%, sys=4.49%, ctx=53586, majf=0, minf=17
 IO depths    : 1=200.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,26791,0,26791 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=1786KiB/s (1829kB/s), 1786KiB/s-1786KiB/s (1829kB/s-1829kB/s), io=105MiB (110MB), run=60001-60001msec

Disk stats (read/write):
 sda: ios=0/80193, merge=0/54250, ticks=0/53690, in_queue=3616, util=99.92%
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
насколько правдоподобны показания убунты в wsl2?
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
root@A1:~# fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME -size=50G
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 1 process
test: Laying out IO file (1 file / 51200MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=472KiB/s][w=118 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=553: Wed Apr 14 17:41:02 2021
 write: IOPS=150, BW=601KiB/s (615kB/s)(35.2MiB/60007msec); 0 zone resets
   slat (usec): min=25, max=764, avg=68.67, stdev=21.47
   clat (usec): min=213, max=32271, avg=457.10, stdev=380.48
    lat (usec): min=253, max=32316, avg=526.46, stdev=383.44
   clat percentiles (usec):
    |  1.00th=[  273],  5.00th=[  330], 10.00th=[  351], 20.00th=[  375],
    | 30.00th=[  400], 40.00th=[  420], 50.00th=[  441], 60.00th=[  461],
    | 70.00th=[  482], 80.00th=[  510], 90.00th=[  553], 95.00th=[  594],
    | 99.00th=[  693], 99.50th=[  947], 99.90th=[ 2966], 99.95th=[ 3326],
    | 99.99th=[32375]
  bw (  KiB/s): min=  288, max= 1200, per=100.00%, avg=600.66, stdev=253.20, samples=120
  iops        : min=   72, max=  300, avg=150.12, stdev=63.32, samples=120
 lat (usec)   : 250=0.37%, 500=76.54%, 750=22.37%, 1000=0.26%
 lat (msec)   : 2=0.24%, 4=0.18%, 10=0.03%, 50=0.01%
 fsync/fdatasync/sync_file_range:
   sync (nsec): min=100, max=61500, avg=1012.60, stdev=966.21
   sync percentiles (nsec):
    |  1.00th=[  302],  5.00th=[  502], 10.00th=[  604], 20.00th=[  700],
    | 30.00th=[  804], 40.00th=[  900], 50.00th=[ 1004], 60.00th=[ 1096],
    | 70.00th=[ 1208], 80.00th=[ 1208], 90.00th=[ 1400], 95.00th=[ 1496],
    | 99.00th=[ 1800], 99.50th=[ 2008], 99.90th=[ 8640], 99.95th=[20096],
    | 99.99th=[61696]
 cpu          : usr=0.98%, sys=3.35%, ctx=18025, majf=0, minf=13
 IO depths    : 1=200.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,9011,0,9011 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=601KiB/s (615kB/s), 601KiB/s-601KiB/s (615kB/s-615kB/s), io=35.2MiB (36.9MB), run=60007-60007msec

Disk stats (read/write):
 sdb: ios=0/27430, merge=0/20602, ticks=0/66158, in_queue=8390, util=99.93%
root@A1:~#пятница
источник

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
Вы меня провоцируете изучить принцип работы с дисковой подсистемой у wsl и windows в принципе, а это очень долго и бессмысленно :)
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
Я уже на много тут спровоцировал) плюс\минус одна провокация не решают))
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
evn@A1:~$ fio -ioengine=libaio -fsync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=write -runtime=60 -filename=FILENAME -size=50G
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 1 process
test: Laying out IO file (1 file / 51200MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=656KiB/s][w=164 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=8954: Wed Apr 14 17:46:32 2021
 write: IOPS=181, BW=727KiB/s (745kB/s)(42.6MiB/60004msec); 0 zone resets
   slat (usec): min=18, max=603, avg=39.07, stdev= 7.39
   clat (usec): min=2, max=6869, avg=152.98, stdev=80.64
    lat (usec): min=99, max=6923, avg=192.51, stdev=81.66
   clat percentiles (usec):
    |  1.00th=[   86],  5.00th=[   98], 10.00th=[  119], 20.00th=[  126],
    | 30.00th=[  137], 40.00th=[  151], 50.00th=[  155], 60.00th=[  157],
    | 70.00th=[  159], 80.00th=[  163], 90.00th=[  169], 95.00th=[  196],
    | 99.00th=[  396], 99.50th=[  429], 99.90th=[  586], 99.95th=[  725],
    | 99.99th=[ 2409]
  bw (  KiB/s): min=  520, max= 2136, per=100.00%, avg=727.27, stdev=346.63, samples=120
  iops        : min=  130, max=  534, avg=181.77, stdev=86.64, samples=120
 lat (usec)   : 4=0.01%, 100=5.22%, 250=92.76%, 500=1.81%, 750=0.17%
 lat (usec)   : 1000=0.01%
 lat (msec)   : 4=0.01%, 10=0.01%
 fsync/fdatasync/sync_file_range:
   sync (nsec): min=160, max=1613, avg=439.36, stdev=73.97
   sync percentiles (nsec):
    |  1.00th=[  270],  5.00th=[  390], 10.00th=[  410], 20.00th=[  422],
    | 30.00th=[  422], 40.00th=[  422], 50.00th=[  422], 60.00th=[  430],
    | 70.00th=[  442], 80.00th=[  462], 90.00th=[  482], 95.00th=[  490],
    | 99.00th=[  748], 99.50th=[  932], 99.90th=[ 1288], 99.95th=[ 1416],
    | 99.99th=[ 1480]
 cpu          : usr=0.81%, sys=1.68%, ctx=21904, majf=0, minf=15
 IO depths    : 1=200.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,10912,0,10912 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=727KiB/s (745kB/s), 727KiB/s-727KiB/s (745kB/s-745kB/s), io=42.6MiB (44.7MB), run=60004-60004msec

Disk stats (read/write):
 nvme0n1: ios=0/33418, merge=0/23383, ticks=0/64088, in_queue=42272, util=100.00%
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
Вот. На том же железе. Перезагрузился
источник

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
Давайте не будем чатик засорять своими иопсами :)
источник

LK

L K in PostgreSQL + 1C + Linux
Вывод для неверущих
EVO 850
iops        : min=  405, max=  506, avg=446.42
RAID 1 EVO 870 plus
iops        : min=  266, max=  316, avg=304.78
446/304 1.5
EVO 850 будет быстрее для многих кейсов
источник

EN

Evgeny Nasedkin in PostgreSQL + 1C + Linux
интересно же)
источник

AT

Alex Tkachuk in PostgreSQL + 1C + Linux
Интересно было бы не десктопный диск мерять и не из таблички что я бросал. А так писькомерство у кого 400 иопс, а у кого 600 - не несёт никакой пользы в принципе, т.к. и так понятно что десктопное добро не особо годится для БД. Только чатик засрали, если листать кто будет - офигеет
источник