我在 Ubuntu 10.04 机器上运行的 R 2.15.2(不给糖就捣蛋)的安装上安装了 FastRWeb 1.1-0。我希望使用生成的系统来运行 Web 服务。
我通过在 rserve.conf 中将 http.port 设置为 8181 并取消设置套接字目标来配置系统。我已将 .http.request 分配给 FastRWeb::.http.request。我使用 HTTP POST 在客户端和服务器之间交换 JSON blob(第二个 blob 的大小可能超过 150KB,并且不适合 HTTP GET 查询字符串。)
一切都是端到端的——我有一个小的客户端 R 脚本,它可以跨通道生成 JSON RPC 调用。我看到调用了 run 函数,并看到它返回。
但是,我遇到了一个重大的性能问题:从 run() 返回(包括对 done() 的调用)到 R 客户端获取返回值的时间,返回路径花费了超过 12 秒的时间。RCurl 似乎不是罪魁祸首;似乎有些东西需要 12 秒才能返回。
有人对在哪里看有什么建议吗?我可以轻松地转而使用 Apache 2.0 和 CGI,但老实说,我宁愿让一切都以 R 为中心。