pg_test_fsync的使用说明

瀚高数据库
目录
文档用途
详细信息

文档用途
pg_test_fsync是一种用于测试在指定系统上哪一种wal_sync_method最快的命令,该命令还可以在发生认定的 I/O 问题时提供诊断信息。

pg_test_fsync为 wal_sync_method报告以微秒计的平均文件同步操作时间,也能被用来提示用于优化commit_delay值的方法,本文主要用于介绍pg_test_fsync的使用方法。

详细信息
使用语法:

pg_test_fsync [option...]

选项说明:

pg_test_fsync

接受下列命令行选项:

-f

–filename

指定要写入测试数据到其中的文件名。这个文件必须位于和 pg_wal目录所在或者将被放置的同一个文件系统中(pg_wal包含WAL文件)。默认是当前目录中的pg_test_fsync.out。

-s

–secs-per-test

指定每次测试的秒数。每个测试的时间越长,测试的精度就越高,但是它需要更多时间来运行。默认是 5 秒,这允许程序在2分钟以内完成。

-V

–version

打印pg_test_fsync版本并且退出。

-?

–help

显示有关pg_test_fsync命令行参数的帮助并且退出。

使用举例:

[root@node1 bin]# pg_test_fsync -f /tmp/pg_test_fsync.data

5 seconds per test

O_DIRECT supported on this platform for open_datasync and open_sync.

Compare file sync methods using one 8kB write:

(in wal_sync_method preference order, except fdatasync is Linux's default)

        open_datasync                               997.878 ops/sec     1002 usecs/op

        fdatasync                                 1016.510 ops/sec     984 usecs/op

        fsync                                    393.544 ops/sec     2541 usecs/op

        fsync_writethrough                                   n/a

        open_sync                                 407.743 ops/sec     2453 usecs/op

Compare file sync methods using two 8kB writes:

(in wal_sync_method preference order, except fdatasync is Linux's default)

        open_datasync                              515.242 ops/sec      1941 usecs/op

        fdatasync                                 980.880 ops/sec     1019 usecs/op

        fsync                                   387.264 ops/sec      2582 usecs/op

        fsync_writethrough                                   n/a

        open_sync                                 199.399 ops/sec     5015 usecs/op

Compare open_sync with different write sizes:

(This is designed to compare the cost of writing 16kB in different write

open_sync sizes.)

         1 * 16kB open_sync write                     383.326 ops/sec      2609 usecs/op

         2 * 8kB open_sync writes                     229.837 ops/sec      4351 usecs/op

         4 * 4kB open_sync writes                     115.235 ops/sec      8678 usecs/op

         8 * 2kB open_sync writes                      57.760 ops/sec     17313 usecs/op

          16 *  1kB open_sync writes                   28.793 ops/sec     34731 usecs/op

Test if fsync on non-write file descriptor is honored:

(If the times are similar, fsync() can sync data written on a different

descriptor.)

        write, fsync, close                          450.947 ops/sec      2218 usecs/op

        write, close, fsync                          447.291 ops/sec      2236 usecs/op

Non-sync'ed 8kB writes:

        write                                  62159.556 ops/sec       16 usecs/op

注:ops/sec–每秒操作数,数值越大性能越高

usecs/op–每个操作平均耗时,数值越小性能越高

根据运行结果,在本次测试环境中wal_sync_method的最优配置为fdatasync。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值