From the OpenSIPS script, you can perform a huge number of operations, including internal SIP message processing and routing as well as external entity queries such as external DB and Representational State Transfer (REST). Such queries will translate into I/O operations, where OpenSIPS will push a request/query to the external entity and then has to wait in order to receive a reply.
Until version 2.1, OpenSIPS implemented synchronous waiting for such I/O operations. This means that the process performing the query sits without doing anything until receiving the reply. Such an approach is inefficient. There is a fix and limited number of processes, which may be blocked doing nothing while waiting for an I/O operation to get completed.
Of course, an I/O-intensive script (with many DB operations, for example) will suffer from the lack of throughput as the processes will spend more time in simply waiting instead of handling the SIP traffic. It is very easy to detect this...