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

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
trees, etc...

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support

> -----Original Message-----
> From: Ugen [mailto:ugen@xonix.com]

> 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?
> --Ugen
>
> 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
> >
> >
> >
> >>
> >>
> >>
> >
> >
> >
>
>