Even if you are not doing multithreading explicitly, your application server implicitly sends each request to its own thread, so you already have a parallel load on the CPU.
Parallel code will help you if your request processing is limited by CPU, which is very rare. Usually the bottleneck is the database or, more generally, the interface to other background subsystems.
If each request is processed by crunching a large amount of data in memory, and if the request load per second is low, then it can pay off by carefully dividing the work into several threads, no more than the actual number of processor cores.
Therefore, since your server is quite heavily loaded, it is almost certainly impossible to improve its performance by sending work to multiple threads. Please note that it is dangerous to easily disrupt multithreading performance.
source share