有几种部署 Shiny 应用程序的方法:
使用 Heroku 或 使用 ShinyProxy、Traefik 和 Docker Swarm 或 Shinyapps.io 或 Shiny Server 或 用闪亮.semantic 替换 Shiny UI
众所周知,ShinyServer 非常昂贵,而且 Shinyapps.io 不可扩展:

但比较所有的方法,如何衡量哪种方法更具成本效益?
我使用表中列出的三种方法托管应用程序。根据成本=时间+金钱:
最具成本效益的选项将是此列表中满足您所有需求的第一个选项:(1)shinyapps.io,(2)shiny-server(免费),(3)ShinyProxy,(4)Shiny-server Pro 。
内存: Shiny-server 可以在同一应用程序的多个实例之间共享内存,而 ShinyProxy 应用程序的每个实例都是完全独立的。如果使用 ShinyProxy 与 Shiny-server 托管,则需要大量内存的应用程序的许多实例会更快地耗尽服务器资源。
CPU:同一应用程序的多个实例将共享 Shiny-server 中的相同 R 实例和处理器线程。当使用 Shiny-server 托管时,许多并发用户可能会遇到计算量大的应用程序速度变慢的情况。在 ShinyProxy 中,每个用户都将获得自己的 Docker 容器/应用程序,这些容器/应用程序可以分布在多个处理器之间,支持更好地扩展计算密集型应用程序。
身份验证:仅 ShinyProxy(或 Shiny-server Pro)支持身份验证
Shiny-server Pro:(付费)允许您在CPU和内存之间进行优化,提供身份验证、用户监控等,但包括订阅费用。
实际测量/测试应用程序的可扩展性:使用闪亮的负载测试(有关更多详细信息,请参阅https://rstudio.github.io/shinyloadtest/)。
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |