0

我刚刚了解了 Heroku,并且非常兴奋地对其进行测试。我很快用 Node.js 语言组装了他们的演示并偶然发现了一个问题。在本地运行应用程序时,apache 基准测试打印大约 3500 个请求/秒,但当它在云上下降到 10 个请求/秒并且不会根据网络延迟增加或降低时。我不敢相信这是他们要求每小时 5 美分的性能,并且高度怀疑我的应用程序不是多线程的。

这是我的 code.js:http ://pastebin.com/hyM47Ue7

我需要应用什么配置才能让它在 Heroku 上“运行”(更快)?或者我可以使用哪些其他的 node.js 网络服务器?

我感谢关于这个主题的每一个答案。

4

2 回答 2

0

你是对的,网络服务器不是多线程的,除非你为更多的网络 dynos付费。我发现 Heroku 对原型设计很方便。根据您时间的货币价值,您可能希望也可能不希望使用它来设置可扩展的服务器,而不是直接使用 EC2。

于 2012-08-20T03:02:56.503 回答
0

你的小例子不是多线程的。(甚至在您自己的机器上也不需要。)但是您不需要立即为更多的测功机付费,因为您可以在测功机上使用多个内核,请参阅此答案Running Node.js App with cluster module is meaning in Heroku?

重复这个答案:使用应该增加吞吐量的多个进程的节点解决方案是使用(内置)集群模块

我猜你可以很容易地从 heroku dyno 获得超过 10 req/s 而没有问题,请参阅这个基准,例如:

http://openhood.com/ruby/node/heroku/sinatra/mongo_mapper/unicorn/express/mongoose/cluster/2011/06/14/benchmark-ruby-versus-node-js/

你用什么来做基准测试?

于 2012-08-20T10:03:21.370 回答