Make rest data retrievals asynchronous - SDMXRI-1622 - NSI WS 8.2.0
In the OECD performance/scalability tests we have spotted that the NSIWS.NET does not scale linearly when more resources are added to the hardware. When retrieving large data responses, there is a lot of network io blocking for the database, meaning that the database buffer is not consumed fast enough as the result is produced by the database.
As an improvement, making the data retrieval asynchronous could allow the NSIWS.NET to release blocked threads to continue processing the request, withouth being block waiting on the database response or other heavy operations. It can also help to increase the amount of concurrent users that can be served by the system.
Changes will affect the following solutions:
- dr.net
- sr.net
- sdmxsource.net
- nsiws.net
- maapi.net
- estat_sdmxsource_extension.net
Jira ticket: https://citnet.tech.ec.europa.eu/CITnet/jira/browse/SDMXRI-1622