References to Written Documentation:
- OpenEdge Data Management: Database Administration : Maintaining and Monitoring Your Database : Managing Performance : Index use : Rebuilding indexes : Maximizing index rebuild performance
- OpenEdge Data Management: Database Administration : Reference : PROUTIL Utility : PROUTIL IDXBUILD qualifier
Progress Solutions:
"How to scope and define a multi-volume srt file for idxbuild" "Understanding the new -SG parameter for IDXBUILD" What are the new Index Rebuild parameters that were introduced in 10.2B06? What performance gain using idxbuild multi-threads"Windows Scripting Limit Affects Progress Proutil Batch File"Notes from one of the database developers:
For data scan threads it is really trial and error. Balancing CPU usage and I/O throughput is the key to getting this optimal. The idea of 1.5 threads * CPUs is to eliminate any wasted CPU during this part of the index rebuild. With today's machines having so many CPUs, this number can become ridiculous since the file system will become the bottleneck. Having too many threads that are not improving I/O rates will introduce contention/concurrency issues and may actually decrease performance.
So you need enough datascan threads to use all the available CPU resources up to the point where I/O rates no longer improve.
I know everyone wants a simple formula to just apply but there really isn't one that fits every deployment. The experience of others with success running this in similar deployments to yours is the best resource for specific tuning suggestions.