性能测试错误PostgreSQL和GlusterFS
问题描述:
我正在使用pgbench进行性能测试,以评估使用Glusterfs和Postgresql的影响。我已经创建了3砖/服务器gluster复制卷:性能测试错误PostgreSQL和GlusterFS
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不支持“结构化数据”,如GlusterFS Install Guide说:
Gluster不支持所谓的“结构化数据”,意为住,SQL数据库。当然,使用Gluster来备份和恢复数据库会很好 - 当使用至少16KB的文件大小(大约128KB左右的甜蜜点)时,Gluster传统上会更好。
我的猜测是Gluster可以在负载很小的时候跟上复制的速度,但当负载增加到某个点以上时就会出现问题,可能会导致裂脑错误。
您可以使用命令gluster volume heal <volume_name> info split-brain
或gluster volume heal <volume_name> info
查看所有需要修复的文件在脑裂脑中的文件。
您是否禁用了'full_page_writes'? –