[Date Prev][Date Next]
Re: Adding attributes (in a massive way)....
On Wednesday 19 March 2003 16:17, Howard Chu wrote:
> > I just tested the modification of the description attribute on 20.000
> > inetorgPerson objects (with about 25 attributes each) on an
> > 800MHz AMD Duron with 512 MB RAM:
> > It took not more than 12 min and 30 sec.
> > The update was done using a Perl script based on Net::LDAP,
> > slapd and the client script were running on the same host.
> > During the update the system was running the KDE GUI and
> > was used for web browsing and a few ldap searches on exactly
> > the same LDBM backend (I wanted to know how fast the update
> > worked before it ended ;-),
> > And no, the description attribute is not indexed.
> Updating a non-indexed attribute will be quicker than indexed, since no
> index needs to be updated then.
I redid the test with the description attribute indexed (equality index)
This changed the time required to do the updates to 18 minutes,
which gives ~ 20 modify requests per second.
> You two may be measuring very different scenarios; using the commandline
> ldapmodify with one modification per invocation will of course be slower
> than feeding a large LDIF to a single invocation, due to connection
> management overhead. If your Perl script wrote all the mods through one
> connection, as opposed to a single connection per mod, then it would also
> be quicker than otherwise.
You are right: the script does the search and the update of all objects found
in the search in one connection.
I wanted to give a number for the time required for the modification and not
for the network ovberhead.
When comparing the speed between slapcat / edit LDIF / slapadd and
modifying the entries online one should compare the time for procedures
that do the updates in a reasonably optimal way.
(The original question was: What is faster ?)
Otherwise I could claim that ldapmodify is almost always faster than
slapcat / wait a fortnight / edit LDIF / slapadd ;-)
One advantage of the online solution is that you do not have to interrupt the
service for the update.