[Date Prev][Date Next]
RE: Modify performance
In a modify, existing index values are deleted and new values are added. As
such, it takes (at least) twice as many I/O operations as an add. Depending
on the underlying database library and database structure (Btree, hash,
whatever) there may be more operations to coalesce freed pages, rebalance
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: Ugen [mailto:firstname.lastname@example.org]
> Cannot upgrade but thanx for the pointer - i will start digging :)
> However i am still wondering why is there such a significant
> difference in performance between add and modify?
> Isn't addition of a new entry also causing indexes to be rebuilt?
> If so - how is that different from the modify in it's
> handling of indexes?
> Howard Chu wrote:
> >Upgrade to OpenLDAP 2.1 and use back-bdb. You probably have
> indexing enabled
> >for several attributes. In OpenLDAP 2.0, on any modify, all
> attribute indices
> >for the entry are recomputed, even if most of those
> attributes are unchanged.
> >This generates enough churn that even with dbnosync, the
> page cache for the
> >database fills up quickly with dirty pages and needs to be
> flushed. In
> >OpenLDAP 2.1 back-bdb, only the indices of modified
> attributes are updated,
> >so much less I/O traffic is generated.
> > -- Howard Chu
> > Chief Architect, Symas Corp. Director, Highland Sun
> > http://www.symas.com http://highlandsun.com/hyc
> > Symas: Premier OpenSource Development and Support