fio & pgbench
This commit is contained in:
146
README.md
146
README.md
@@ -179,6 +179,152 @@ LD_PRELOAD=./src/libzvfs.so ZVFS_TEST_ROOT=/zvfs ./tests/bin/hook_api_test
|
||||
- 相对同机 `O_DIRECT`,顺序写吞吐可有约 `2.2x~2.3x` 提升。
|
||||
- 非对齐写因 RMW 开销,吞吐明显下降。
|
||||
|
||||
### 5.4 fio
|
||||
```shell
|
||||
root@ubuntu20:/home/lian/try/zvfs# fio ./fio_script/psync.fio
|
||||
test: (g=0): rw=randwrite, bs=(R) 16.0KiB-16.0KiB, (W) 16.0KiB-16.0KiB, (T) 16.0KiB-16.0KiB, ioengine=psync, iodepth=64
|
||||
fio-3.16
|
||||
Starting 1 thread
|
||||
Jobs: 1 (f=1): [w(1)][100.0%][w=53.0MiB/s][w=3455 IOPS][eta 00m:00s]
|
||||
test: (groupid=0, jobs=1): err= 0: pid=23035: Fri Mar 13 13:25:32 2026
|
||||
Description : ["variable bs"]
|
||||
write: IOPS=3644, BW=56.9MiB/s (59.7MB/s)(570MiB/10001msec); 0 zone resets
|
||||
clat (usec): min=127, max=3496, avg=272.07, stdev=91.62
|
||||
lat (usec): min=128, max=3497, avg=272.41, stdev=91.69
|
||||
clat percentiles (usec):
|
||||
| 1.00th=[ 155], 5.00th=[ 169], 10.00th=[ 184], 20.00th=[ 202],
|
||||
| 30.00th=[ 225], 40.00th=[ 249], 50.00th=[ 262], 60.00th=[ 277],
|
||||
| 70.00th=[ 293], 80.00th=[ 322], 90.00th=[ 371], 95.00th=[ 420],
|
||||
| 99.00th=[ 545], 99.50th=[ 611], 99.90th=[ 881], 99.95th=[ 1467],
|
||||
| 99.99th=[ 2409]
|
||||
bw ( KiB/s): min=49376, max=70387, per=99.97%, avg=58295.30, stdev=6828.37, samples=20
|
||||
iops : min= 3086, max= 4399, avg=3643.40, stdev=426.71, samples=20
|
||||
lat (usec) : 250=41.44%, 500=56.78%, 750=1.59%, 1000=0.10%
|
||||
lat (msec) : 2=0.07%, 4=0.01%
|
||||
cpu : usr=1.82%, sys=37.19%, ctx=54169, majf=0, minf=0
|
||||
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,36448,0,0 short=0,0,0,0 dropped=0,0,0,0
|
||||
latency : target=0, window=0, percentile=100.00%, depth=64
|
||||
|
||||
Run status group 0 (all jobs):
|
||||
WRITE: bw=56.9MiB/s (59.7MB/s), 56.9MiB/s-56.9MiB/s (59.7MB/s-59.7MB/s), io=570MiB (597MB), run=10001-10001msec
|
||||
|
||||
Disk stats (read/write):
|
||||
dm-0: ios=122/36085, merge=0/0, ticks=32/7748, in_queue=7780, util=99.13%, aggrios=109/36455, aggrmerge=13/12, aggrticks=28/7260, aggrin_queue=0, aggrutil=98.95%
|
||||
sda: ios=109/36455, merge=13/12, ticks=28/7260, in_queue=0, util=98.95%
|
||||
root@ubuntu20:/home/lian/try/zvfs# LD_PRELOAD=/home/lian/try/zvfs/src/libzvfs.so fio ./fio_script/zvfs.fio
|
||||
test: (g=0): rw=randwrite, bs=(R) 16.0KiB-16.0KiB, (W) 16.0KiB-16.0KiB, (T) 16.0KiB-16.0KiB, ioengine=psync, iodepth=64
|
||||
fio-3.16
|
||||
Starting 1 thread
|
||||
Jobs: 1 (f=1): [w(1)][100.0%][w=10.2MiB/s][w=650 IOPS][eta 00m:00s]
|
||||
test: (groupid=0, jobs=1): err= 0: pid=23891: Fri Mar 13 13:26:54 2026
|
||||
Description : ["variable bs"]
|
||||
write: IOPS=521, BW=8345KiB/s (8545kB/s)(81.5MiB/10001msec); 0 zone resets
|
||||
clat (usec): min=529, max=52465, avg=1909.16, stdev=1181.14
|
||||
lat (usec): min=530, max=52467, avg=1909.72, stdev=1181.21
|
||||
clat percentiles (usec):
|
||||
| 1.00th=[ 734], 5.00th=[ 922], 10.00th=[ 1037], 20.00th=[ 1237],
|
||||
| 30.00th=[ 1418], 40.00th=[ 1500], 50.00th=[ 1614], 60.00th=[ 1860],
|
||||
| 70.00th=[ 2024], 80.00th=[ 2311], 90.00th=[ 3130], 95.00th=[ 3982],
|
||||
| 99.00th=[ 5669], 99.50th=[ 5932], 99.90th=[ 6456], 99.95th=[ 6849],
|
||||
| 99.99th=[52691]
|
||||
bw ( KiB/s): min= 4704, max=11200, per=99.95%, avg=8339.75, stdev=2577.19, samples=20
|
||||
iops : min= 294, max= 700, avg=521.10, stdev=161.03, samples=20
|
||||
lat (usec) : 750=1.23%, 1000=7.07%
|
||||
lat (msec) : 2=60.10%, 4=26.84%, 10=4.74%, 100=0.02%
|
||||
cpu : usr=0.00%, sys=3.84%, ctx=5461, majf=0, minf=7
|
||||
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,5216,0,0 short=0,0,0,0 dropped=0,0,0,0
|
||||
latency : target=0, window=0, percentile=100.00%, depth=64
|
||||
|
||||
Run status group 0 (all jobs):
|
||||
WRITE: bw=8345KiB/s (8545kB/s), 8345KiB/s-8345KiB/s (8545kB/s-8545kB/s), io=81.5MiB (85.5MB), run=10001-10001msec
|
||||
|
||||
Disk stats (read/write):
|
||||
dm-0: ios=39/7287, merge=0/0, ticks=12/7888, in_queue=7900, util=1.72%, aggrios=39/478, aggrmerge=0/6818, aggrticks=12/352, aggrin_queue=0, aggrutil=1.70%
|
||||
sda: ios=39/478, merge=0/6818, ticks=12/352, in_queue=0, util=1.70%
|
||||
```
|
||||
|
||||
#### psync
|
||||
```shell
|
||||
root@ubuntu20:/home/lian/try/zvfs# fio ./fio_script/psync.fio
|
||||
test: (g=0): rw=randwrite, bs=(R) 16.0KiB-16.0KiB, (W) 16.0KiB-16.0KiB, (T) 16.0KiB-16.0KiB, ioengine=psync, iodepth=64
|
||||
fio-3.16
|
||||
Starting 1 thread
|
||||
Jobs: 1 (f=1): [w(1)][100.0%][w=53.0MiB/s][w=3455 IOPS][eta 00m:00s]
|
||||
test: (groupid=0, jobs=1): err= 0: pid=23035: Fri Mar 13 13:25:32 2026
|
||||
Description : ["variable bs"]
|
||||
write: IOPS=3644, BW=56.9MiB/s (59.7MB/s)(570MiB/10001msec); 0 zone resets
|
||||
clat (usec): min=127, max=3496, avg=272.07, stdev=91.62
|
||||
lat (usec): min=128, max=3497, avg=272.41, stdev=91.69
|
||||
clat percentiles (usec):
|
||||
| 1.00th=[ 155], 5.00th=[ 169], 10.00th=[ 184], 20.00th=[ 202],
|
||||
| 30.00th=[ 225], 40.00th=[ 249], 50.00th=[ 262], 60.00th=[ 277],
|
||||
| 70.00th=[ 293], 80.00th=[ 322], 90.00th=[ 371], 95.00th=[ 420],
|
||||
| 99.00th=[ 545], 99.50th=[ 611], 99.90th=[ 881], 99.95th=[ 1467],
|
||||
| 99.99th=[ 2409]
|
||||
bw ( KiB/s): min=49376, max=70387, per=99.97%, avg=58295.30, stdev=6828.37, samples=20
|
||||
iops : min= 3086, max= 4399, avg=3643.40, stdev=426.71, samples=20
|
||||
lat (usec) : 250=41.44%, 500=56.78%, 750=1.59%, 1000=0.10%
|
||||
lat (msec) : 2=0.07%, 4=0.01%
|
||||
cpu : usr=1.82%, sys=37.19%, ctx=54169, majf=0, minf=0
|
||||
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,36448,0,0 short=0,0,0,0 dropped=0,0,0,0
|
||||
latency : target=0, window=0, percentile=100.00%, depth=64
|
||||
|
||||
Run status group 0 (all jobs):
|
||||
WRITE: bw=56.9MiB/s (59.7MB/s), 56.9MiB/s-56.9MiB/s (59.7MB/s-59.7MB/s), io=570MiB (597MB), run=10001-10001msec
|
||||
|
||||
Disk stats (read/write):
|
||||
dm-0: ios=122/36085, merge=0/0, ticks=32/7748, in_queue=7780, util=99.13%, aggrios=109/36455, aggrmerge=13/12, aggrticks=28/7260, aggrin_queue=0, aggrutil=98.95%
|
||||
sda: ios=109/36455, merge=13/12, ticks=28/7260, in_queue=0, util=98.95%
|
||||
```
|
||||
|
||||
### 5.5 pgbench
|
||||
```shell
|
||||
root@ubuntu20:/home/lian/try/zvfs# ./scripts/run_pgbench_no_mmap.sh
|
||||
当前配置:
|
||||
host=127.0.0.1 port=5432 db=benchdb
|
||||
scale=1 clients=1 threads=1 time=15s preload=1
|
||||
init_jobs=1 init_steps=dtg skip_init=0
|
||||
|
||||
[1/2] pgbench 初始化(-i)
|
||||
some of the specified options cannot be used in initialization (-i) mode
|
||||
root@ubuntu20:/home/lian/try/zvfs# ./scripts/run_pgbench_no_mmap.sh
|
||||
当前配置:
|
||||
host=127.0.0.1 port=5432 db=benchdb
|
||||
scale=1 clients=1 threads=1 time=15s preload=1
|
||||
init_jobs=1 init_steps=dtg skip_init=0
|
||||
|
||||
[1/2] pgbench 初始化(-i)
|
||||
dropping old tables...
|
||||
NOTICE: table "pgbench_accounts" does not exist, skipping
|
||||
NOTICE: table "pgbench_branches" does not exist, skipping
|
||||
NOTICE: table "pgbench_history" does not exist, skipping
|
||||
NOTICE: table "pgbench_tellers" does not exist, skipping
|
||||
creating tables...
|
||||
generating data...
|
||||
100000 of 100000 tuples (100%) done (elapsed 0.02 s, remaining 0.00 s)
|
||||
done.
|
||||
[2/2] pgbench 压测(-T)
|
||||
starting vacuum...end.
|
||||
transaction type: <builtin: TPC-B (sort of)>
|
||||
scaling factor: 1
|
||||
query mode: simple
|
||||
number of clients: 1
|
||||
number of threads: 1
|
||||
duration: 15 s
|
||||
number of transactions actually processed: 1381
|
||||
latency average = 10.869 ms
|
||||
tps = 92.003503 (including connections establishing)
|
||||
tps = 92.206743 (excluding connections establishing)
|
||||
```
|
||||
---
|
||||
|
||||
## 6. 关键工程难点与踩坑复盘(重点)
|
||||
|
||||
Reference in New Issue
Block a user