Skip to main content
Answer

Acumatica endpoint taking too long to return records

  • January 17, 2024
  • 5 replies
  • 207 views

Michael Ndungi
Varsity I
Forum|alt.badge.img

I have an external  mobile application which I I’m intergating with acumatica. I  I’m using a look up field where a user has to select from and can also input keywords to get the desired customer.

Below is the endpoint Im using;
https://XXX.acumatica.com/entity/Default/20.200.001/Customer
Number of customer in acumatica: 30,000

However it is taking around 15 min to get the customers and be diplayed on the selector for the end user to choose or in getting the desired result if the user is using a keyword.


How can I improve the speed of fetching to be in seconds and not this many minutes.
 

Best answer by jinin

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.

Thanks @stephenbologna39 

I I’m using $select to limit the fields to only 6. However, The time taken to return response is still too long.

Do you have an example or article I can reference on this?
“I’ve also heard that GI based OData feeds tend to run faster than the WS API.”


Hi @Michael Ndungi 
Please refer to the article below regarding OData.
https://openuni.acumatica.com/wp-content/uploads/2017/08/I300-slides.pdf

5 replies

bryanb39
Pro II
Forum|alt.badge.img+6
  • Pro II
  • January 17, 2024

That's a lot of records to pull in each time.   Can you use a GI instead to reduce the amount of data or require entering at least 3 characters for example before sending the request so it's filtered?  


Forum|alt.badge.img+2

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.


Michael Ndungi
Varsity I
Forum|alt.badge.img

That's a lot of records to pull in each time.   Can you use a GI instead to reduce the amount of data or require entering at least 3 characters for example before sending the request so it's filtered?  

Thank you @bryanb39 

I used a GI to retrieve the records, the response time improved slightly, however, the user has to wait for like 2min to get the list of all customers and I’m only interested in only 6 fields.

could you please elaborate abit on the following statement?
“or require entering at least 3 characters for example before sending the request so it's filtered”


Michael Ndungi
Varsity I
Forum|alt.badge.img

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.

Thanks @stephenbologna39 

I I’m using $select to limit the fields to only 6. However, The time taken to return response is still too long.

Do you have an example or article I can reference on this?
“I’ve also heard that GI based OData feeds tend to run faster than the WS API.”


jinin
Pro I
Forum|alt.badge.img+11
  • Pro I
  • Answer
  • January 19, 2024

Hi @Michael Ndungi 

 

Depending on your needs, you could try using $select to limit the fields returned for each record.

 

For example, something like this should dramatically reduce the amount of data returned (and by extension, the time taken to process the request):

https://XXX.acumatica.com/entity/Default/20.200.001/Customer?$select=CustomerID,CustomerName

 

I’ve also heard that GI based OData feeds tend to run faster than the WS API.

Thanks @stephenbologna39 

I I’m using $select to limit the fields to only 6. However, The time taken to return response is still too long.

Do you have an example or article I can reference on this?
“I’ve also heard that GI based OData feeds tend to run faster than the WS API.”


Hi @Michael Ndungi 
Please refer to the article below regarding OData.
https://openuni.acumatica.com/wp-content/uploads/2017/08/I300-slides.pdf