Heroku:如何正确扩展node.js应用程序?

我正在托pipe我的网站heroku ,我们遇到严重的性能问题。

基本上,它是一个node.js/express应用程序,同时提供静态html( AngularJS )和REST APIs供客户端使用。

部署已经接近了,所以我们开始与JMeter进行基准testing,结果没有任何意义 – 添加Web dynos完全没有影响。

起初我以为也许我们的代码有问题,但我已经很确定Heroku是错误的,因为我们得到相同的结果时,基准一些静态图像或HTML。 只是为了确保我的快递中间件没有造成我把静态文件放在快速堆栈顶部的问题。

提前致谢。

请确保在生产环境中避免任何console.log调用,以及任何日志中间件(如app.use(express.logger())app.use(express.logger()) ,因为这些对Heroku node.js应用程序的性能可能会有很大的负面影响。

在我的一个应用程序中有类似下面的内容:

 if (process.env.NODE_ENV !== 'production') { app.use(morgan('dev')); } else { console.log = function () {}; } 

请参阅这里讨论这个现象: http : //micheljansen.org/blog/entry/1698

所以事实certificate,Heroku路由器正在玩弄我们。 我们的testing没有真正的相关性,因为所有的请求都来自一个IP地址。

刚注意到这个问题仍然是开放的,所以对于那些经历过同样问题的人来说,