2014-05-15 22 views
1

我在heroku上託管我的網站,我們遇到嚴重的性能問題。Heroku:如何正確擴展node.js應用程序?

基本上這是一個node.js/express應用程序服務靜態html(AngularJS)和REST APIs將由客戶端使用。

部署已接近尾聲,因此我們開始使用JMeter進行基準測試,結果毫無意義 - 添加Web dynos完全沒有影響。

起初我以爲也許我們的代碼有問題,但我已經很確定Heroku有問題,因爲我們在基準測試某些靜態圖像或html時會得到相同的結果。 只是爲了確保我的快遞中間件沒有造成我將靜態文件放在快速堆棧頂部的問題。

在此先感謝。

回答

1

一定要避免在您的生產環境中調用任何console.log調用,以及任何日誌中間件如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

0

所以事實證明,Heroku的路由器被捉弄了我們。 我們的測試並非真正相關,因爲所有請求都是由一個IP地址完成的。

剛注意到這個問題仍然是開放的,所以對於那些經歷過同樣問題的人來說,

相關問題