[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: [ldap] Implementation Suggestions

On Fri, 20 Jan 2006, Spicer, Kevin wrote:

>>> You have enough memory for 1.25 Gb of bdb cache?  You don't post your
>>I should hope so, they have 2.5 Gb of ram each.
>Good good, but keep an eye out for excessive swapping, just in case.

In my experience with OL on Solaris 9, the moment you have to swap it's
all over.  The memory management in Berkeley DB is much better suited to
paging the directory data than the OS.

However, I've found that performance begins to plummit well before you
actually swap because of the filesystem cache.  Leaving at least 30% of
the size of your database files of free memory available to the OS for
fscache seems to let the database's caching work more quickly.

That said, the only thing as bad as swapping for OL performance is not
having a big enough db cache.  When I'm tight on memory, I find that the
sweet spot is to have about 10% bigger db cache than the id2entry+dn2id
files.  More than that gets diminishing returns relative to letting the OS
have some RAM to play with but any less than that and nobody's happy.

Another thing that helps me out is allowing the database to mmap files.
This cuts down on heavyweight system calls and also helps the db to load
data on the fly a little more easily.  Of course, you need a little more
RAM for that, too, and isn't worth looking at it if you're entirely I/O

All of this and using shared memory for the db cache gets me near RAM-disk
performance once the cache is populated and resident.

Eric Irrgang - UT Austin ITS Unix Systems - (512)475-9342