Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix multiple concurrent requests issue #47

Merged
merged 1 commit into from
Jan 30, 2025

Conversation

pmoleri
Copy link
Contributor

@pmoleri pmoleri commented Jan 29, 2025

Fix multiple concurrent connections issue

This is easy to reproduce in the following case:

  • Use Firefox
  • In App Builder create a Tree
  • Make the first level repeat on Northwind Swagger / Customers
  • Make the second level repeat on Northwind Swagger / Customers/{id}/Orders
    (correctly link the customer id parameter)
  • Go to preview
  • Open the devtools
  • Refresh

You can see some response errors:
image

With this fix there are no longer any errors.
And requests in this scenario seem to be a lot faster.

@pmoleri pmoleri requested a review from deyvidnenchev January 29, 2025 19:36
@pmoleri pmoleri changed the title Fix multiple concurrent connections issue Fix multiple concurrent requests issue Jan 29, 2025
@ddidgdimitrov-infragistics
Copy link
Collaborator

ddidgdimitrov-infragistics commented Jan 30, 2025

I performed load testing on your branch, sending N simultaneous requests to an endpoint, both remotely (https://data-northwind.appbuilder.dev/) and locally. The Customers/WithOrders endpoint has the largest response size (over 300KB), while Categories is one of the smallest (under 1KB), which explains the significant difference in results between the two.

Keep in mind that these results are influenced by my network conditions and PC performance. However, overall, they indicate that the app handles concurrent requests well. Based on this, I approve the PR.

1 requests to remote /Customers/WithOrders took for 00:00:02.3621026
10 requests to remote /Customers/WithOrders took for 00:00:02.4154081
100 requests to remote /Customers/WithOrders took for 00:00:05.0389757
1000 requests to remote /Customers/WithOrders took for 00:00:25.8629290

1 requests to remote /Categories took for 00:00:00.3772586
10 requests to remote /Categories took for 00:00:00.3729161
100 requests to remote /Categories took for 00:00:00.5732582
1000 requests to remote /Categories took for 00:00:01.6273390

1 requests to local /Customers/WithOrders took for 00:00:00.0865807
10 requests to local /Customers/WithOrders took for 00:00:00.2576294
100 requests to local /Customers/WithOrders took for 00:00:01.5348999
1000 requests to local /Customers/WithOrders took for 00:00:14.3058679

1 requests to local /Categories took for 00:00:00.0557580
10 requests to local /Categories took for 00:00:00.1183388
100 requests to local /Categories took for 00:00:00.3592819
1000 requests to local /Categories took for 00:00:02.1311495

@hanastasov hanastasov merged commit 7b139c8 into main Jan 30, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants