Some plots from my tests with MPI.
Here is total visit time as a function of visit number, there is a familiar bump at the beginning while "smart" Oracle learns how to properly query DiaObjectLast table:
Stripping that bump one can see nice drop in time at 10k visits - this is when I switch connection caching, before it was using the same mode as forking (new connection for each visit). Gain from cached connections is about 2 seconds per visit:
Here is the fit of the total visit time after enabling connection caching:
At 30k visits time is around 10 sec, which is again ~2 sec better than what we saw before on a single node with forking.
I think the conclusion here is that using more cores on client side does not help much by itself (i.e. bottleneck is on server side), but reusing/caching database connection on client side can save ~2 seconds per visit.