VX_CONCURRENT flag on vxfs( 5.1 or later) for performance for postgresql?

Started by HSIEN-WEN CHUalmost 15 years ago3 messageshackers
Jump to latest
#1HSIEN-WEN CHU
hsienwen.chu@googlemail.com

Dear all

When database files are on a VxFS filesystem, performance can be
significantly improved by setting the VX_CONCURRENT cache advisory on
the file according to vxfs document,

my question is that have any tested by this?

#include <sys/fs/vx_ioctl.h>
ioctl(fd, VX_SETCACHE, VX_CONCURRENT);

Regards

HSIEN WEN

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: HSIEN-WEN CHU (#1)
Re: VX_CONCURRENT flag on vxfs( 5.1 or later) for performance for postgresql?

HSIEN-WEN CHU <hsienwen.chu@googlemail.com> writes:

When database files are on a VxFS filesystem, performance can be
significantly improved by setting the VX_CONCURRENT cache advisory on
the file according to vxfs document,

Presumably, if whatever behavior this invokes were an unalloyed good,
they'd have just made it the default. The existence of a flag makes
me suppose that there are some clear application-visible downsides.
What are they?

BTW, please do not cross-post the same question to three different lists.

regards, tom lane

#3Greg Smith
gsmith@gregsmith.com
In reply to: HSIEN-WEN CHU (#1)
Re: VX_CONCURRENT flag on vxfs( 5.1 or later) for performance for postgresql?

On 04/27/2011 11:33 PM, HSIEN-WEN CHU wrote:

When database files are on a VxFS filesystem, performance can be
significantly improved by setting the VX_CONCURRENT cache advisory on
the file according to vxfs document,

That won't improve performance, and it's not safe either. VX_CONCURRENT
switches the filesystem to use direct I/O. That's usually slower for
PostgreSQL. And it introduces some requirements for both block
alignment and the application avoiding overlapping writes. PostgreSQL
doesn't do either, so I wouldn't expect it to be compatible with
VX_CONCURRENT.

--
Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us