https://netsuiteprofessionals.com logo
#suitescript
Title
# suitescript
k

Kevin

04/27/2022, 8:02 PM
Still looking for answer: we have 80 concurrency rate and still getting exceeding limit error.
s

scottvonduhn

04/27/2022, 9:42 PM
Have you installed the Application Performance Management SuiteApp and tried looking at the Concurrency Monitor ?
k

Kevin

04/27/2022, 9:43 PM
Yes we do have but it doesn't say anything like we received request per sec or per min
s

scottvonduhn

04/27/2022, 9:44 PM
It is 80 web service calls simultaneously. If you have a lot of Restlets that run for a long time, or perform a lot of big searches over SuiteTalk, you can tie up connections for a while
Anyway, that page should tell you if your peak concurrency is hitting the limit, and give you an idea of how often
k

Kevin

04/27/2022, 9:45 PM
how those 80 calls works ?
how one extra call get rejected and how is that works
s

scottvonduhn

04/27/2022, 9:45 PM
These are external web service calls into your NEtSuite environment. Not logged in user sessions.
Are you not the ones making the web service calls into your account?
k

Kevin

04/27/2022, 9:46 PM
We are making from others services like AWS Lambda to Restlet
s

scottvonduhn

04/27/2022, 9:47 PM
Okay. what is your peak concurrency then? IF it’s above 80, then you need to use a strategy to avoid making to many calls at once, or use a backoff/retry approach
k

Kevin

04/27/2022, 9:48 PM
sorry it is 87 is our peak concurrency as per monitor
ignore above one and it Looks 62 is our peak concurrency
then you need to use a strategy to avoid making to many calls at once, or use a backoff/retry approach ? how can we approach this strategy ?
what is ideal limit to make calls ?
d

dcrsmith

04/27/2022, 10:21 PM
depends on your NS tier and if you have SuiteCloud Plus licenses.
Lookup "SuiteCloud Plus Settings" in suite answers. It will give you the concurrency limits.
k

Kevin

04/27/2022, 10:23 PM
Dcrsmith - We have 80 limit but not understand per min request and how it calculated
d

dcrsmith

04/27/2022, 10:26 PM
Concurrent - This means the simultaneous number of executions. When I setup external connections I always recommend that the external system look for the
SSS_REQUEST_LIMIT_EXCEEDED
error, wait and try again
k

Kevin

04/27/2022, 10:26 PM
Noted and how that simultaneous works for 80 limit ?
We can do if we have small amount of errors but when we have huge numbers, it is totally costing us
s

scottvonduhn

04/27/2022, 10:27 PM
First, consider the frequency of your lambda calls to NetSuite. Do you need to be making many call so often? What is the nature of these calls? You can't hammer NetSuite with a constant barrage of web service calls, it imposes the concurrency precisely to stop people from doing this. You need a different integration design that uses fewer calls
💯 1
k

Kevin

04/27/2022, 10:28 PM
It is order creation in NetSuite and want to cut down to fewer calls and frequency
d

dcrsmith

04/27/2022, 10:32 PM
Your lambda needs to check for the above error and if it occurs then you need to resubmit the request again after a wait time. Something like 1-2 seconds might work. It depends on the Restlet and what all it's doing. It sounds like maybe you need to redesign the Restlet. Maybe think about creating a custom record with the request and using a M/R or something to create the orders after the response. There is always a way to redesign the solution.
k

Kevin

04/27/2022, 10:46 PM
what do you think is ideal limit calls for 80 concurrency ?
s

scottvonduhn

04/27/2022, 10:54 PM
So, rather than making a call for every order as it happens, try queuing them up in AWS somehow, then sending all the orders received in the last time period, say every 30 or 60 seconds. You will likely still need to offload the order creation to another process like a Map/Reduce or Scheduled script, so that you aren’t tying up your Restlets with bigger/longer calls, as that won’t help concurrency much.
b

Brendon Parker

04/28/2022, 12:52 AM
Might suggest using something like SQS so you can control the number of simultaneous requests. Put them in the queue, then set the queue dequeue batch size to something reasonable (less than 80)
💯 1
k

Kevin

04/28/2022, 12:53 AM
Brendon - Totally make sense! we have places SQS and placed all in staging area. then processing to NetSuite. we didn't set up size limit. but we got now to set 200 but will reduce to less than that if we are getting any errors
Thank you everyone for input and really appreciate.