Hey all - curious and never seen before from docum...
# suitescript
k
Hey all - curious and never seen before from documents but would like to know your opinions. Can application concurrency impact by MapReduce script internally ?
b
if your question is if the number of threads being used by your server affects how many threads are available to run map reduce scripts, then the answer is yes
k
How MapReduce impacts Restlet ?
Since they both are different and non-blocking threads so curious how that works between MapReduce concurrency and Restlet Actual concurrency
i
interested in this too, i thought they were different, the Suitetalk stuff uses concurrency monitor and the scheduled,map/reduce,csv use the suitecloud processors
k
@Israel Gonzalez I have same doubt and it's huge debate for me now
b
the server that is running your scripts has a finite number of threads that it can use to run each scripts
same for other resources like memory
i
reading through this and it makes it seem like they may be different
or is this specific to only REST Async requests? which im not too familiar with https://suiteanswers.custhelp.com/app/answers/detail/a_id/98242
b
the abstraction is that your account is allowed a finite number of threads, some of which are for scripts, some for csv import and so
they are still all from the same thread pool from the server
and despite what you might want, the number of threads you are allowed is greater than the number of threads available on the server
cloud services make more money by assuming you wont be using all your threads at the same time all the time
i
ah ok yeah that makes more sense, thats why they have this note. so even though you technically may not hit a governenace limit it will degrade your overall performance
k
It governance limit right
i
and yep its similar to airline bookins, lets book more people in hopes they dont all show up lol
b
its also one of the more common reasons why your map/reduce or scheduled script queue is backing up with none processing, something else is using up the threads
k
why concurrency monitor doesn't show MapReduce then ?
i
i had a recent issue with scripts backing up leading to about a 300 second wait time, that NS confirmed and resolved on their end, so always a good idea to monitor the performance. luckily was able to show pretty easily from one week to another the wait time skyrocketed with no other changes on our end
b
the concurrency monitor is for webservices, where you can make more requests than you are allowed
you arent allowed to use more processors than you are allowed
if your account can use 2 suitecloud processors, you cant make iit processes 4 map reduce scripts at the same time, netsuite is able to internally prevent that
however, if your account is allowed to process 2 webservice requests at the same time, you can still make 10 concurrent webservice requests since netsuite doesnt control whatever is sending those requests
netsuite has to reject 8 out of 10
k
NetSuite’s concurrency limits let you allocate a part of your account’s concurrent request limits to specific integrations. An account has limitations to the number of times requests can be made to the web services and RESTlet
it is so confusing matter
@battk Q: why do we have concurrency on MapReduce ?
It has limited allowed processors but why that impacts to Restlet
b
its a general computing thing
your server has a finite number of threads that can run at the same time
😯 1
k
Can Restlet takes up Map Reduce concurrency ?
b
if the use of the restlet pushes the number of threads used by your server above that limit, it will cause the others to wait
restlet and map/reduce concurrency are tracked differently by netsuite, but at a lower level, they both use the same resource
in this case, cpu resources
of which threads is a measure of how many things a cpu can do at once
k
Cann't they have separate CPU for each script since it's cloud ?
if everything runs on same CPU make sense but if they separate CPU to compute then how that impacts curious
b
they almost certainly do, your account is being run on a virtual machine to split up the server's actual resources
but that server still has a finite number of threads it can run, and if lots of accounts are using up threads, there may be none left for yours
it cant just send that request to a different server
k
what if we are on Dedicated cloud ?
b
they should have stopped offering that around the same time they made plans to move to OCI
but if they still had it, then your account would be the only one using threads
im not sure if they would still oversell threads in that case
k
I think our account moved to OCI
whats your thought if OCI
b
its an actual datacenter, they are all virtual machines
id expect oracle to be better at managing its servers than netsuite, but people still complain about stalled queues
so accounts are occasionally using up all resources
k
Got it and thank you so much for all your input