Hello,

We run PostgreSQL 8.3 on a Dell PE 2950 III w/ 4G RAM, 15krpm SAS
disks running from mfi(4) and quad core Xeon - all under
OpenBSD-current/amd64 of course.  Oh and we are running
GENERIC.MP.

I suppose the database is reasonably large at this stage, around
55 million rows or 10G on disk.  But I have heard from friends
that PostgreSQL can handle a billion rows without too much
trouble - of course it depends on what you are doing.

Tweaked it a little to get a bit more cache, I think each backend
goes up to around 108M at the moment:

Sysctls:

kern.seminfo.semmni=256
kern.seminfo.semmns=2048
kern.shminfo.shmmax=210428160

PostgreSQL config:

shared_buffers = 100MB

It would be nice to get some more of the data in memory, but most
of our activity is INSERTs, and since I'm not sure about our
locality of reference when it comes to reporting, we are heavily
I/O bound.  For this reason we have the 15krpm SAS disks in RAID
1 on mfi(4).

My experience is that PostgreSQL does not make it easy to run
entirely out of memory.  There are many parameters to consider
beyond simply where the data is pulled from.  This is probably
why an aggressively caching kernel like Linux can see excellent
performance in many scenarios.

Fast disks were the biggest win for us, since we are so I/O
intense.  Some other OS like Linux or whatever would probably do
a better job of caching without lots of tweaks - but OpenBSD has
so many other advantages in terms of hardware support,
manageability and maintainability, that we didn't even bother
testing with anything else.

Oh, also note that OpenBSD has some limit on how much memory an
individual process can map, so keep that in mind.  While the
kernel may be able to use all 128G of memory in your machine,
each PostgreSQL backend process may only be able to use a much
smaller chunk of it.

On Thu, Aug 07, 2008 at 12:28:56AM -0400, bofh wrote:
> I'm looking at a project that I'm trying to run on openbsd.  All that
> box will have is postgresql.  At this time, it's just 2 programmers
> and 1 sysadmin type person that's involved, no DBAs, so apologies if
> the questions are... too simplistic.
>
> And I realize if I want to maximize performance, I need to examine
> OSes as well.  But at this point, I want to explore what is the
> biggest postgresql server I can run under openbsd.  If at all
> possible, I want to run everything in memory.

--
Niall O'Higgins
P2P Research
http://p2presearch.com
http://niallohiggins.com

Reply via email to