性能测试PostgreSQL和GlusterFS中出错
我正在使用pgbench进行性能测试,以评估在Postgresql中使用Glusterfs的影响。我已经创建了一个gluster复制卷,其中包含3个砖块/服务器:性能测试PostgreSQL和GlusterFS中出错,postgresql,glusterfs,Postgresql,Glusterfs,我正在使用pgbench进行性能测试,以评估在Postgresql中使用Glusterfs的影响。我已经创建了一个gluster复制卷,其中包含3个砖块/服务器: Volume Name: gv0 Type: Replicate Volume ID: a7e617ec-c564-4a01-aec9-807e87fcccb3 Status: Started Snapshot Count: 0 Number of Bricks: 1 x 3 = 3 Transport-type: tcp Brick
Volume Name: gv0
Type: Replicate
Volume ID: a7e617ec-c564-4a01-aec9-807e87fcccb3
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: 10.112.76.37:/export/sdb1/brick
Brick2: 10.112.76.38:/export/sdb1/brick
Brick3: 10.112.76.39:/export/sdb1/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
之后,我将postgres配置为使用卷gv0。在低压力下一切正常。但是,当负载增加时,会发生以下错误:
client 14 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
client 7 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
client 5 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
client 6 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
client 8 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
client 0 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
client 11 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; consider updating your system.
知道是什么引起的吗 Gluster不支持“结构化数据”,如中所述:
Gluster不支持所谓的“结构化数据”,即实时SQL数据库。当然,使用Gluster来备份和恢复数据库是可以的——Gluster通常在使用至少16KB的文件大小时会更好(最合适的地方是128KB左右)
我的猜测是,当负载较小时,Gluster几乎可以跟上复制的速度,但当负载增加到某个点以上时,Gluster会挣扎,可能会导致大脑分裂错误
您可以使用命令
gluster volume heal info split brain
查看split brain中的文件,或gluster volume heal info
查看所有需要修复的文件。这可能是GlusterFS中的错误
因此,在最新版本的Kernel、GlusterFS和PostgreSQL上重新检查这个问题是有意义的。您是否禁用了
full\u page\u writes
?