有什么方法可以提高我的表现吗?

时间:2011-06-28 05:56:26

标签: ruby-on-rails ruby performance background

首先,如果您仔细阅读我的问题说明,并认为我没有提供足够的信息,请告诉我并告知我提供哪些信息有用:

我正在使用PhantomJS,一个“无头”Webkit引擎,在每个Web请求中动态生成十个网站的相当大的图像。我目前正在使用Ruby线程并行运行这些进程(每个“进程”是为单个网站生成一个映像,因此我为每个Web请求运行了十个线程)。但是,即使这样做,单个请求(包含并行运行的十个线程)在我的本地Webrick服务器上往往需要两分钟,这要求用户承担这一点是不可接受的。

我肯定会将这些流程转移到后台任务,然后使用带有图像的AJAX更新页面,以免捆绑Web请求并提高用户体验。但是,我不认为从线程切换到后台任务(我想使用Resque)实际上会缩短生成和显示图像所需的时间(我相信Resque可以并行运行它的任务,所以我会不需要线程?)。

所以我的问题是如何更快地生成和显示这些图像?我很感激任何建议,从运行此服务器或环境到使用什么工具。我并不依赖于我目前正在使用的任何东西。

1 个答案:

答案 0 :(得分:0)

没有足够的信息来提出任何可靠的建议,但是:

  

我目前正在使用Ruby线程并行运行这些进程。

你在这里称之为“过程”是什么?一起检索十个网站,或者检索这十个网站中的每一个?如果你并行执行十个请求,那将比并行运行的十个组快,但是这十个请求在每个组内串行运行。