node.js上的heroku爱好dynamic,限制

我无法理解Heroku Hobby dyno使用节点的性能限制,这种types只包含1个web worker。

我的heroku服务器用于响应发布请求并启动服务器到服务器的通信。 我们将称之为“过程”。

Node.js是JavaScript,只有一个事件循环,这是否意味着,如果我的Heroku服务器还没有完成与进程,它将无法启动另一个?

客户端,用户发送一个发布请求,启动“进程”。

如果进程不完整,第二个用户是否可以发送另一个请求并期望发生什么事情? 我的服务器将挂起,直到第一个过程完成?

在我的初步testing中,似乎几乎同时发送请求的两个用户没有问题,所以我不确定我会受到什么限制

根据Heroku的文档,这不是一个问题,您将能够处理多个请求,而Node.js没有问题。

Dynos和请求

单个测功机可以每秒处理数千个请求,但性能很大程度上取决于您使用的语言和框架。

一个单线程,非并发的Web框架(像默认configuration的Rails 3)一次可以处理一个请求。 对于平均需要100ms来处理每个请求的应用程序,这意味着每个testing仪每秒约10个请求,这不是最优的。

单线程后端不build议用于生产应用程序,因为它们对并发请求的处理效率低下。 在开发和运行生产服务时select并发后端。

Java,Unicorn,EventMachine和Node.js等multithreading或事件驱动环境可以处理多个并发请求。 加载testing您的应用程序是确定请求吞吐量的唯一现实的方法。

进一步阅读:

在dynos上: https ://devcenter.heroku.com/articles/dynos#dyno-types

在工作和排队: https : //devcenter.heroku.com/articles/background-jobs-queueing

asynchronous工作者: https : //devcenter.heroku.com/articles/asynchronous-web-worker-model-using-rabbitmq-in-node