5

我开发了一个 ocpu 应用程序以在 EC2 服务器上运行,但是,特别是在 EC2 服务器上运行时,应用程序(即使只有一个用户,我)非常慢,并且从 a 上升t2.micro到 ac3.large并没有改变任何事情。

为了查看瓶颈在哪里,我在代码中引入了计时器,结果如下:

  • R函数本身持续846ms(本地400ms)
  • 通过 ocpu.call() 调用该函数持续 2558ms
  • 随着结果的检索,总颠簸高达 4790 毫秒,这意味着(大)geojson 的检索需要 2 秒,而通过使用 curl 的 API 检索相同的 geojson 则需要 1.3 秒
  • 如果我将输出减少到无,仍然需要 1s 来检索nothing

在我的个人电脑上,总时间不到 1500 毫秒!

结论:R部分本身并没有慢很多,但其他一切都是!

他们是否有任何 opencpu 选项,以便它更快地处理服务器上的数据?

4

1 回答 1

0

摆弄了很多写问题,我实际上preload在服务器手册中找到了一个用于预加载包的参数。我已经把我使用的所有东西都放在那里了,现在整个事情都降到了 2896 毫秒。2s更好!

但是仍然需要 1.5 秒才能启动并“返回”一个 R 函数,该函数在服务器上需要 0.869 秒,而通常的握手时间约为 200 毫秒。

于 2015-08-10T19:48:04.980 回答