Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2006 13:28:28 -0800
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        Arne Woerner <arne_woerner@yahoo.com>
Cc:        freebsd-database@freebsd.org, freebsd-performance@freebsd.org
Subject:   Re: Horrible PostgreSQL performance with NFS
Message-ID:  <20060113212828.GB1819@odin.ac.hmc.edu>
In-Reply-To: <20060113211048.31785.qmail@web30313.mail.mud.yahoo.com>
References:  <787bbe1c0601131220j7b3a052ege5fe4683156312a7@mail.gmail.com> <20060113211048.31785.qmail@web30313.mail.mud.yahoo.com>

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

--mYCpIKhGyMATD0i+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jan 13, 2006 at 01:10:48PM -0800, Arne Woerner wrote:
> Hiho!
>=20
> --- Slawek Zak <slawek.zak@gmail.com> wrote:
> > 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.
> >
> I would like to suggest some tests (I do not have a clear idea,
> why your system becomes slower; a hypothesis will follow below):
>=20
> 1. benchmark the local disc (watch cpu usage via e. g. vmstat 1)
> % dd if=3D/dev/zero of=3D/some/local/filesystem/a bs=3D1m count=3D1000
>=20
> 2. benchmark the NFS filesystem (watch cpu usage via e. g. vmstat
> 1)
> % dd if=3D/dev/zero of=3D/some/NFS/filesystem/a bs=3D1m count=3D1000

I'd suggest also testing with small blocks as well.  I suspect that a
large portion of many database accesses quite small and thus transaction
overhead, not streaming performance is likely to be the issue.  If
streaming performance is an issue, increasing your network's MTU should
help somewhat.

> 3. test the NIC performance with (again watching the CPU usage
> might help)
> % ping -s 50000 <nfs-server>
> I get 17Mbit/sec which is the actual rate...
> neo# ping -s 50000 vaako
> PING vaako.riddick.homeunix.org (10.1.1.3): 50000 data bytes
> 50008 bytes from 10.1.1.3: icmp_seq=3D0 ttl=3D64 time=3D46.584 ms

I don't think this tells you much if anything.  You need to know what
your protocol overhead is, not how many ICMP packets you can spew.

> My theory would be, that your NICs need a lot of CPU time, while
> your local discs dont need so much CPU time. :-)

That's certainly part of it, but I doubt it's the whole story.

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--mYCpIKhGyMATD0i+
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFDyBt2XY6L6fI4GtQRAgrwAJsF1m5v/11V7w4LAFLXikEOgchpUQCfWoTe
uzFjzaJ2sYtFyoQOcq4Hkg0=
=xJXN
-----END PGP SIGNATURE-----

--mYCpIKhGyMATD0i+--



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