Concurrent requests

I'm working on my first XData project. Initial tests were very successful.
XData seems to fit our requirements.

Now I'm encountering a scaling issue.

The response time increases with each concurrent request. A single request takes about 3 seconds. Three concurrent requests take about 9 seconds. It seems as if the requests are being processed sequentially rather than simultaneously. CPU utilization is only around 30% at most.

I ran a test with a load balancer that distributes the requests across multiple service instances. The response time met my expectations.

Are there special parameters for using multiple CPU cores by a service instance? My customer would like to avoid using multiple service instances if possible.

3 seconds is a significant time for a single request. May I ask why your request takes so much time? Heavy processing, slow SQL statements...?

What is the database you are using? Are you using a database pool and if yes, what is the size?

The 3-second request is just a dummy test that calculates prime numbers to simulates CPU load.
The real project (developed as a desktop application in the last 25 years) involves extensive financial planning, the calculation of which can take approximately 3 seconds on a standard PC.
We want to provide the calculation core of this financial planning as a service and build the GUI as a web interface.
Oracle with ODAC is used as the database. The current IDE is Delphi 10.4.2 (32-bit).
To analyze the scaling problem, we reduced "the bussiness" to the prime number function.

That is strange. Have you checked if this is a CPU load issue or serialization issue?

I mean, are the requests being effectively processed simultaneously, or sequentially? If that is a simple project I can compile and run at my side, maybe you can share the project so the issue is reproducible here?

I'll set up a small example project using the prime number function in the next few days. I'll send it to you.
Can you give me a personal email address?

You can click my name here at Support Center and send me a private message.

For now, the question has been resolved. My measurement method was wrong. I was simply using two browser instances and the Swagger UI. The Chrome process sent the requests one after the other. My mistake. ;-) Thanks for the help.
By the way, XData has been working very well for me so far. Cool product.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.