在global.R文件中,我正在读取一些10-12个excel文件,一些用户定义的函数,模块,并在此之上进行一些数据操作(不是那么重的任务)。我想加快加载闪亮的应用程序的速度。我在考虑是否将其保存在.RData中,然后执行load("mydata.RData", envir = .GlobalEnv)
而不是读取excel文件并在global.R中获取函数。会增加闪亮的应用程序的加载时间吗?即使出现UI但服务器仍然加载,我也很好。我对立即向用户显示UI感兴趣,用户可以等待一些计算。我正在使用docker进行生产,因此主要是对UI加载时间感兴趣,因为容器需要一些时间来旋转用户必须等待的时间,然后加载应用程序也需要时间。
答案 0 :(得分:2)
这是一个很大的话题,您可以在几个方面改进Shiny-App,以使其运行更快。
ui.R
中运行的代码会缩短很多。这样一来,应用程序将变得更快,因为用户只需单击该选项卡,即可加载该模块中所需的绘图,文件等。data.table
使您的应用更高效。该软件包是专为更快的使用而设计的。您甚至可以使用dplyr
combine。您可以尝试使用data.table::fread()
命令加载文件。r2d3
的{{3}},使您可以使用JS的D3在Shiny-App中进行绘图。我建议您一次使用profvis
package并运行它的Shiny-App。在您加载了应用程序并再次将其关闭之后,它可以查看花费了这么多时间的确切时间。也许毕竟不是负载,而是另一个问题?然后您可以从那里去。