Question

I'm considering different solutions for creating a Web application that shows some data analytics to the user. I want to use R with shiny server but I'm not certain how it is gonna scale for large number of users. Questions:

  1. Can shiny server support 100 or 1000 or in even the extreme case of 10000 simultaneous users? In other words how well does shiny server scale with the number of users?
  2. Does shiny server create a new instance of R for each user or do the users share one R instance?
Was it helpful?

Solution

Great questions. (Bias: I'm one of the developers behind Shiny Server.)

Regarding your second question, in the open source Shiny Server, one R process is created for every Shiny application you deploy, regardless of the number of concurrent users. We now offer Shiny Server Professional which offers, among other things, the ability to support an application with multiple R processes and configure exactly how you want this to scale.

Regarding your first question, Shiny Server certainly can do these things, but you'll find that the limitation is in your Shiny apps. We've seen the simplest apps seamlessly support hundreds of concurrent users on a single Shiny process (doable in the open source version). Most apps of substance, however, would require more processes to create a seamless experience once you get into hundreds or thousands of concurrent users. With Shiny Server Pro, you'll be able to scale that as far as your server's resources allow you to.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top