R Shiny /shinyapps.io - Worker 和实例设置以最大限度地提高性能

TTS*_*TTS 6 r shiny shinyapps

与此相关的额外信息:https ://shiny.rstudio.com/articles/scaling-and-tuning.html

我正在尝试为我的 Shiny 应用程序确定最佳的工作线程和实例设置,以使用户体验尽可能流畅。大多数情况下,应用程序上的流量很少,但有时流量会异常高,例如当它向大量受众展示时(可能超过 100 个用户?)。

首先,基于个人经验以及这个SO问题。,我将“最大连接数”(每个 R 工作进程允许的并发连接数)设置为 1。这将避免共享同一 R 工作进程的连接之间出现一些奇怪的“交互”。

我有shinyapps.io的专业订阅,这意味着每个应用程序最多有10个实例。在应用程序的设置中,我可以调整多个值,以确定何时启动新实例、何时添加或共享新工作人员等。

考虑两种情况:

  1. 我对其进行了设置,以便有尽可能多的实例,并且其他工作人员会在出现时填写。如果每个实例最多有 10 个工作线程,则前 10 个连接将各自启动自己的实例,第 11 个连接最终将使用新工作线程加入其中一个实例。

  2. 我将其设置为尽可能少的实例,添加工作人员直到需要新实例为止。如果每个实例最多 10 个工作线程,则第一个连接将启动该实例,接下来的 9 个连接将启动该实例中的工作线程,第 11 个连接将启动一个新实例和工作线程。

使用这两种方法的优点和缺点是什么?

能提高性能吗?它们是一样的吗?

实例上有更多工作人员是否会降低计算速度?

谢谢!

小智 0

我想知道同样的事情,但将“最大连接”设置为 1 对我来说似乎效率不高,因为它们最多可以达到 50 不是吗