Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2006 21:20:13 +0100
From:      Slawek Zak <slawek.zak@gmail.com>
To:        freebsd-database@freebsd.org, freebsd-performance@freebsd.org
Subject:   Horrible PostgreSQL performance with NFS
Message-ID:  <787bbe1c0601131220j7b3a052ege5fe4683156312a7@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

Hello everyone,

A couple of days ago I've moved our production database from local
disks to NetAPP filer serving NFS. Performance for this server dropped
by factor of 10 if not more. From a happy 10% load, the server hit the
ceiling and sees load of 100% all the time with runqueue above 30. The
server is a Sun V40z machine, 4x Opteron 852, 16GB RAM, tuned for 1600
concurrent connections. I'm running FreeBSD 6.0 BETA5. I don't see any
problem with the network bandwidth or I/O opcount. Total bandwidth
generated by the machine tops at 10Mbps. NICs are bge configured for
100Mbps full-duplex. Filer hardly notices the traffic. It stays around
1% CPU load and 500 NFS ops/s including static file transfers. This
particular model can handle around 6000 I/Os per second. Trussing
database processes shows that most of the syscalls are semops. I tried
to search the archives but couldn't find anything useful for such
setup.

I can provide postgresql config. Sysctl knobs remain untouched not
counting basic NFS tweaking. For mount_nfs I tried to change NFS
buffer sizes -r -w. I also tried the -L option to keep the lock
traffic local. On the postgres side, setting fsync = off in
postgresql.conf. It didn't change a thing.

Any advice besides "give up on NFS" is most welcome. I need NetAPP
over NFS for snapshots and easy FS management.

TIA, /S
--
Sławek Żak / UNIX Systems Administrator


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?787bbe1c0601131220j7b3a052ege5fe4683156312a7>