Doest setting the concurrency to the MAX (for this...
# suitescript
c
Doest setting the concurrency to the MAX (for this account) block other scheduled/M/R scripts trying to run.
e
The Concurrency Limit on your Deployment is how many processors that script will reserve when it runs. So if you set it to 5, and your limit is 5, that script will always reserve (and wait for) all 5 of your processors when it runs, whether it actually needs all 5 or not
Thus, setting your Concurrency higher probably has the reverse effect, making the script wait longer in the queue because it has more processors to wait for.
šŸ™Œ 1
āœ… 1
a
wait ... really? that's not intuitive at all
I figured it just takes what it CAN get up to a max of the concurrency limit
and what you'd need to to address OPs concerned is modify the priority
e
That's my understanding of the behavior, based on my time at our previous mutual employer @Anthony OConnor šŸ™‚ As always, I am happy to be corrected. But since then, I have advised keeping the Concurrency Limit to 1 or a very low number unless you really need a huge concurrent bandwidth for some process.
a
I wasn't as involved in that side of things but I'm thinking maybe you're talking about how integration governance / concurrrency works? which I think is different from MR concurrency?
regardless the "real" solution to this stuff I've found is identify which horror script is hogging all the queues and being wildly inefficient, once you fix that the queues are pretty much always empty and everything is fine šŸ™‚ Is something running every 15 minutes and using 5 concurrency? does it NEED to? a quick fix option is to set priority low for everything that uses 5 concurrency šŸ˜„ and have yours set to high with 1 concurrency - never choose high and max though
c
Are you suggesting I change the work of ACS? :-D
a
suggesting? I don't think so... insisting mayabe?
b
concurrency level doesnt cause a map reduce task to wait for enough processors
it just means it will use however many processors you set the concurrently level to
āœ… 2
if your account has 2 script processors and two tasks, one of which is currently running with conurrency level 1 (leaving 1 script processor for use) and the other task concurrency level 2 then the second task will run at the same time as the first but only use the 1 script processor (since there is only 1 avaiable)
e
What happens with the first processor when script one finishes and script 2 has not?
b
the the second map/reduce get access to the first processor, which is now available
c
If this account has 5 script processes, why is the queue so slow?
I'm seeing one script running for maybe 5 - 10 mins then another will start and run concurrently.
b
SuiteCloud Processors Priority Levels however will cause waiting for higher priotity level tasks
c
They're all standard priority
b
slow starting script processors generally mean the server you are running on is busy
c
Maybe they're on a very oversubscribed tenant
b
it has a fixed number of threads (suitecloud processors), and the shared nature of the accounts it works with means that there are more suiteclod processors than there are threads
so if multiple accounts on the server are using all their processors, there will be slowdowns
f
IMO, trying to hack the way the system allocates the bandwidth is futile. You have to assume that the engineers had come up with a way to allocate the bandwidth. Better to fix the underlying causes which are likely the scripts and the way they are performing and then just let the system allocate the processors. Learned this the hard way by discovering a stuck M/R script that was stuck in high priority.
e
I'm not sure which part of this was considered a "hack". The advice is to use the dials that NetSuite provides: • the Schedule (what Scripts run when) • the Concurrency Limit (how much bandwidth does each Script get) • and the Priority (which Scripts can bump other Scripts in line) to tune the throughput of your processors appropriately.
a
I don't think he meant "hack" negatively - paraphrased "IMO, focusing on the way the system allocates the bandwidth is futile..."