1

我已经构建了一个 JSON 服务,它使用了另外两个服务,每个服务都有一些延迟,并且由于这种依赖关系,每个请求最多可能需要 800 毫秒才能完成。

我选择 Node.js 的主要原因之一是事件 IO。我希望新请求能够顺利处理,而不是挂起,因为缓慢的请求正在完成。

我如何测试服务并获得一些关于我的服务将如何在 Heorku 上执行的可靠指标——这很难弄清楚,因为我不想达到我所依赖的其他服务的查询限制。我的服务将同时接受多少个请求?我能做些什么来最大化这个数字?

此外,我想得到一些反馈,关于 Node.js 是否会在这种情况下为我提供更好的性能,比如 Rails?

(哦,还有……Heroku 是部署服务的好选择吗?抱歉……我是 Node 新手。)

非常感谢。

4

1 回答 1

2

首先,您不应该使用内存会话,而是使用 DB 会话、Memcached 或 Redis 会话来共享状态。

其次,您应该将延迟的进程分开worker process并使用工作队列来添加和获取那些延迟的作业。您可以使用 Redis 作为kue队列,或者使用其他消息队列是不错的选择。

第三,确保在您的节点代码上保持非阻塞。process.nextTick是关键。


您可以使用Blitz测试许多同时请求,这是Heroku上的附加组件之一。

于 2012-10-12T01:13:21.337 回答