我们已经创建了一个R-package,应该通过OpenCPU进行实时评分。现在的问题是我们正在调用我们的包有很大的开销。 R部分执行得非常快,因此开销在R初始化之前和之后。
R包中包含两个modelobejcts(100 MB和40 MB)。我们可以看到性能不佳与模型的大小有关,因为如果对象较小,性能会提高。
我们已在server.conf
中添加了要预加载的包,并添加了onLoad <- function(lib, pkg)
和lazyload = FALSE
。
我们还试图在inst / extdata中保存数据,然后使用readRDS(system.file())
加载数据
我们期望从两个解决方案中,模型在第一次加载包时被缓存到内存,然后保存在内存中,因此不会重新加载,但这似乎不起作用 - 或者似乎有一些开销在完成每个卷曲。
我们在这里缺少什么?
以下时间就是我对opencpu服务器上的特定包进行httr::GET(url)
的时候:
redirect namelookup connect pretransfer starttransfer total
1.626196 0.000045 0.000049 0.000118 1.633508 3.259843
为了比较,当我们对其中一个标准包进行GET时,我们得到以下结果:
redirect namelookup connect pretransfer starttransfer total
0.085428 0.000044 0.000049 0.000125 0.046630 0.132217
我是这个的新手,不知道还能做什么。我在文档中找不到有关时间的内容或数据缓存到内存的任何内容。