At the beginning of the reindex I see sustained disk activity (probably reads right?) of over 100MB/sec. Then it'll drop to under 50MB/sec. Usually i would see it under 20MB/sec. CPU usage is also not fully utilized during this time. Most cores have under 20% utilization. Maybe one or two cores fluctuating a little above that... which makes sense because it's probably not at the script verification part yet. So as I was trying to write this I keep thinking it has to be a ram bottleneck during the block indexing? Initially it loads as many of the blocks it can into the 12gb of dbcache... then it has to process all those blocks in memory. Or I think when it hits the dbcache limit it flushes all that info back to disk. I think I need to reread your original article again. You might have that detailed info in it.