如果我们预计每月有 100,000 次点击,我们需要运行 opencpu 的最小服务器大小是多少?
我认为 opencpu 是一个令人兴奋的项目,但需要了解部署 opencpu 时的内存使用情况,因为诸如 rackspace 之类的云托管服务对于 1 GB 的 RAM 每月收费约 40 美元。
我知道如果我加载 R 而不做任何事情或在 RAM 中加载任何数据或包,它会使用近 700m 的 RAM(虚拟)和 50 兆字节的 RAM(驻留)。
我知道 opencpu 使用 rApache,而 rApache 使用 preforking,但想知道随着并发用户数量的增加,这将如何扩展。谢谢。
感谢您的回复
我在访问洛杉矶时与 Jeroen Ooms 进行了交谈,并且部分相信如果正确使用 opencpu 将在高并发环境中工作,并且如果出现问题,他可以解决问题。毕竟opencpu跟他的论文有关!特别是,我发现 opencpu 的有用之处在于它与 ubuntu 的 AppArmor 的集成,它可以限制进程使用过多的 RAM 和 CPU。我认为 apache 可能也可以做到这一点,但 RAppArmor 可以做到这一点以及更多。杰出的!如果 AppArmor 是唯一的优势,我只会使用它和 json 作为后端,但似乎 opencpu 也可以简化所有这些东西的安装并提供内置的 API 系统。
考虑到网络托管的成本,我想一个可行的实时分析系统如下:
- 根据需要在专门的分析服务器上按需创建 R 统计模型(例如,每天或每小时使用 cron)
- 使用 ftp 将模型的结果传输到 opencpu 服务器上的目录,作为本机 R 对象
- 在 opencpu 服务器上,进入目录并获取代表统计模型的 R 对象,然后使用它进行预测或模拟。例如,使用“预测”函数根据用户提供的变量提供估计值。
有其他人认为这是使 R 成为实时分析后端的可行方法吗?