Performance Issue when updating many documents in large db. Funnel Effect?

I figured out a performance problem, that I don’t seem to understand completely: A (LEI) scripted activity changes about 100k documents within a database of 200k documents.

What happens is:

Within the first – let’s say – 2 hours, about 300 documents per minute are processed.

After that the performance is going down up to a rate of about 30 documents per minute.

What I did till now:

  1. I started two more Updaters, so now there are 3 running (>4 core machine).

  2. I sliced the amount of document into chunks of about 20k documents. What happens is, that when a job starts the performance is high – but then fades away. Between the processing of the chunks there is some spare time – so I assume that in this time some „tidy“ task does something that brings performance up again. What task? What does this task do?

Can anyone give me some clue/advice what I can do?

My next experiment:

a- Putting a sleep statement into my script after – lets say 10k documents

b- Monitorin IO extensively (which is not too easy in this environment – for organizational reasons). This should not be an issue as temporary files and databases are already separated by controller and disk – but I lost confidence in this process…

Remarks:

There are no other applications on this server which might cause this trouble as this is a nearly dedicated server for this application (just a few users and about 10 unfrequently used mailin databases – no agents or other performance killing tasks).

The database has about 40 views – none with @now or @today of a medium complexity – so I think that this is not the point, where my problem starts.

Subject: Performance Issue when updating many documents in large db. Funnel Effect?

Subject: RE: Performance Issue when updating many documents in large db. Funnel Effect?

About the server used: This is a WINTEL machine

8*Xeon - about 1% used at the maximum

16 GB Ram - about 2 GB used

On the disk side: It has separated controller and disks for domino/data and tmp files (Index etc.) and lots of space - and is provided with diskspace exclusively via SAN.

To be honest: This machine usually is kind of a beast…

The memory usage doesn’t go up - but the number of handles is slightly growing: 28079 at the beginning and 28287 after 2 hours of running this job.

I’m not sure wether this says anything about the job (althoug there is nothing else running on this server).

Subject: RE: Performance Issue when updating many documents in large db. Funnel Effect?

OK. I finished my tests:

Putting in a sleep statement doesn’t help

Splitting the result set in chunks of 5000 - doesn’t help.

Performance seems to go down the longer the script need - with no link to the code as it seems.

There aren’t a lot ‘if’ statements and anyway: How should I avoid ‘if’ statements…

Right now I’m rather pissed with LEI. A test with SSIS more than doubles the performance - and doesn’t seem to go down with the time.

'd love to get a response from IBM on this…