如何在远程服务器上加速R脚本和Shining应用程序之间的连接

如何在远程服务器上加速R脚本和Shining应用程序之间的连接,r,server,shiny,connection,R,Server,Shiny,Connection,我通过Ubuntu16在Digital Ocean droplet上配置了一个闪亮的服务器。另外,在/srv/shinny服务器下有一个闪亮的应用程序 该应用程序从Yahoo Finance下载股票价格,计算几个XT和数据框对象中的不同指标,并绘制它们 目前,它只下载和操纵4只股票的价格,但完全加载需要12-15秒 所以,为了加快速度,我决定把它分成两个R脚本和一个闪亮的应用程序。第一个脚本(A)从Yahoo下载并保存价格,然后第二个脚本(B)计算并保存指标,最后是闪亮应用程序(C)反应性地绘制

我通过Ubuntu16在Digital Ocean droplet上配置了一个闪亮的服务器。另外,在/srv/shinny服务器下有一个闪亮的应用程序

该应用程序从Yahoo Finance下载股票价格,计算几个XT和数据框对象中的不同指标,并绘制它们

目前,它只下载和操纵4只股票的价格,但完全加载需要12-15秒

所以,为了加快速度,我决定把它分成两个R脚本和一个闪亮的应用程序。第一个脚本(A)从Yahoo下载并保存价格,然后第二个脚本(B)计算并保存指标,最后是闪亮应用程序(C)反应性地绘制它们

最耗时的进程是A和B。其思想是A和B每天只执行一次,C将被用户多次调用

我使用脚本B开头的源代码(A)和脚本C开头的源代码(B)在本地计算机上连接了RStudio中A、B和C的执行。这将完全加载时间减少到了4-6秒

但是,当我尝试在远程服务器上重复该连接方法时,它会再次加载12-15秒。A、 B和C位于/srv/server下

我尝试使用save.image()而不是source()来应用不同的连接方法,但C中的attach(.RData)无法识别B中save.image()中的数据。这可能是因为每次调用应用程序时,不同的服务器为远程主机供电,而该服务器没有从attach(.RData)中找到数据


提前感谢您提供的有关如何在我的远程服务器上加速A、B和C之间的连接并缩短应用程序加载时间的帮助

正如您提到的,脚本A和脚本B每天只运行一次。我认为您可以设置一个CRON作业,每天运行脚本a和B一次,并将结果保存为
.rds
.RData
文件。你的闪亮应用程序可以直接读取存储的文件。好的,但关键是如何让应用程序(C)直接读取存储的文件。B中的RData文件。它当前未使用load(“.RData”)或attach(“.RData”)找到该文件。可能我必须将A和B保存在远程服务器上的不同目录中,和/或在调用attach()时指定.RData文件的确切路径?使用相对路径或绝对路径读取,您可以用谷歌搜索它。