与此相关的额外信息:https ://shiny.rstudio.com/articles/scaling-and-tuning.html
我正在尝试为我的 Shiny 应用程序确定最佳的工作线程和实例设置,以使用户体验尽可能流畅。大多数情况下,应用程序上的流量很少,但有时流量会异常高,例如当它向大量受众展示时(可能超过 100 个用户?)。
首先,基于个人经验以及这个SO问题。,我将“最大连接数”(每个 R 工作进程允许的并发连接数)设置为 1。这将避免共享同一 R 工作进程的连接之间出现一些奇怪的“交互”。
我有shinyapps.io的专业订阅,这意味着每个应用程序最多有10个实例。在应用程序的设置中,我可以调整多个值,以确定何时启动新实例、何时添加或共享新工作人员等。
考虑两种情况:
我对其进行了设置,以便有尽可能多的实例,并且其他工作人员会在出现时填写。如果每个实例最多有 10 个工作线程,则前 10 个连接将各自启动自己的实例,第 11 个连接最终将使用新工作线程加入其中一个实例。
我将其设置为尽可能少的实例,添加工作人员直到需要新实例为止。如果每个实例最多 10 个工作线程,则第一个连接将启动该实例,接下来的 9 个连接将启动该实例中的工作线程,第 11 个连接将启动一个新实例和工作线程。
使用这两种方法的优点和缺点是什么?
能提高性能吗?它们是一样的吗?
实例上有更多工作人员是否会降低计算速度?
谢谢!