我在 Rsconnect 服务器上部署的应用程序出现问题。当我的公司 IT 安装了 Rsconnect 服务器时,我在 ide 上运行了我闪亮的应用程序,并通过在 runApp 中强制端口:5050 通过我们的以太网网络共享它。效果很好,网络下的每个人都可以快速访问我的应用程序
因此,当 Rsconnect 运行时,我尝试在它们上发布:结果:
- 在单用户上,该应用程序有点慢但正确
-当我们对系统进行压力测试并同时启动 10-15 个用户以访问极其缓慢的应用程序时(大约 45 秒 - 2 分钟 30 秒),以获取 UI 框架并且应用程序的第一页也出现缓慢......
IT 服务人员说我的应用程序可能太重了,我必须缩小它的大小。那么为什么在作为服务器的小型台式电脑上可以(对多个用户进行相同的压力测试没有问题)而“专业”服务器又是错误的呢?
对我的代码架构有一点看法:
第一页上的仪表板(缓存结果)(这里没有很好的计算和可视化,只有 css kpi 框:见图)计划 .Rmd 准备数据并另存为 .Rds (包含我所有数据帧的列表) reactivpoll in global.R每 15 分钟获取新的 .Rds
我如何向我的 IT 解释我的代码没问题?因为在桌面上一切正常!!!管理员 rsconnect 是否有特定设置?
台式电脑规格。: 戴尔 optiplex 3050 i5 9500T 8go ram (1333mhz mono chanel) 服务器规格: xeon gold 6142 (4 core aviable) 32go ram redhat OS ; 实际在现场(具有良好网络的大公司)。
编辑: 当我禁用 2/3 的模块(对应于闪亮仪表板上的选项卡项目)时,应用程序加载速度更快。似乎这是使长时间运行的实例的“设置”(轻代码快;大代码慢);在模块化之前,我的代码大约是 6000 法分并且不做繁重的计算。为什么这个“设置”在 IDE 上很快(立即)而在 RSconnect 上很慢(大约 8 秒)?
感谢帮助。