[The following is a repost of the 12/15/05 Sleepycat blog entry.]
JE 2.1 will have a lot of performance improvements. One of them is the Split Lock Table.
We noticed that the lock table was a concurrency bottleneck in some
multi-threaded benchmarks. To get around that, we split the lock table
into N lock tables, where N is a parameter (the default is 1). Then
locks are evenly distributed across those N tables (by taking nodeId
mod N, where nodeId is the lock table key). By choosing an appropriate
value for N (generally a prime, and generally something less than the
number of concurrent threads operating on an environment), performance
can be increased significantly.