Let me start by saying that my actuarial department made of 6 people just payed for the Shinyapps.io Standard plan that has 8GB of RAM per Instance.
We deployed two ShinyApps that uses about 5 GB of RAM since they rely mostly on calculations and graphs.
I have read several times the article Scaling and Performance Tuning with shinyapps.io found on this link :
It explains about Instances, Workers and End Users.
I code in R, but I am not a computer scientist so I have not yet understood completely the role of the Workers and the order of events of how shinyapps.io operates when one App will be used simultaneously by several users.
I have the following 2 questions.
Question 1 :
Under the following scenario, with :
- Maximum number of workers per Application Instance = 2
- Maximum number of connections per worker = 3
Is the logic of the Instance of shinyapps.io first come, first served , disregarding on what Worker ,whether is worker 1 or 2, the request comes from?
Question 2
Can you please provide a metaphor to what a worker does? I Understand that the Instance is the RAM and the CPU, and that the End User is the person who is using the app. I basically don't understand what is the purpose of the Worker
PS: Sorry if I don't make my questions more clear, it's just that I am not yet to sure on how this shinyapps.io works, for example if you purchase Microsoft Word or Zoom you know it is for a specific amount of users. In this case I am not so sure, and wouldn't like the Shiny apps I worked on to lag or worse, to crash due to a lack of RAM.