Logically, it is very simple to process the request on one core. Just get the code that receives the request and deals with it.
It is not so easy to process one request on 2 cores, because this requires breaking the request into components, doing work, synchronizing the answers, and then creating one answer. And if you do this work, while you can reduce the time spent on the wall (how long the clock on the wall sees), you will always make a request for more processor time (consumed shared CPU resources).
On a system like MongoDB, where you expect that you will have many different clients running queries, there is no need to try to parallelize the processing of one request, and each reason should not.
The bigger question is why Oracle did not increase concurrency after 4 processors. There are several possible reasons, but it is reasonable to assume that you are faced with some kind of lock that is necessary to ensure consistency. (MongoDB does not offer you consistency and therefore avoids this type of bottleneck.)
source share