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

Re: How to improve performance with MDB backend?



SaÅa-Stjepan BakÅa wrote:
How do you measure or compare speed?

I have a Python program which add a predefined number of users (1mil and each
user consists of 8 DNs and 3 alias DNs) and for Modify test I have also Python
program which modify 1 attribute with random value under one DN changed
sequentially from 1 to 1mil)

Now I can add those 1 million of users in 5508 sec what amounts to 181,55
users per second.

Modify program can do 2141,33 modifications per sec.

Do you find those numbers reasonable or are they nonsense?

Is there a way to get 10000 modifications per second or I am asking a stupid
question?



Sasa


On Mon, Apr 8, 2013 at 4:40 PM, Quanah Gibson-Mount <quanah@zimbra.com
<mailto:quanah@zimbra.com>> wrote:

    --On Monday, April 08, 2013 4:49 AM -0700 Howard Chu <hyc@symas.com
    <mailto:hyc@symas.com>> wrote:

        There's nothing particular to LMDB to tune. But if you're seeing pauses
        due to disk I/O, as your iotop output seems to indicate, you might want
        to look into using a different I/O scheduler.


    Not quite true.  On Linux, I suggest setting the olcDbFlags as follows:

    olcDbEnvFlags: writemap
    olcDbEnvFlags: nometasync

    With those flags set, writes are 65x faster for me with back-mdb than they
    are with back-hdb/back-bdb.

Since he already had DbNosync set, nometasync is irrelevant. One thing to note is that ext3 and ext4 filesystems have their own writeback parameters, which are independent of the settings in /proc/sys/vm, so settings that work with other FSs like jfs or xfs will have no effect.

--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/