2013-05-02 56 views
3

我一直在Heroku託管的環境中運行一些Facebook應用程序,並有一定的流量。Heroku 1x vs 2x web dynos

這些都是使用2個PHP文件(一個單頁的應用程序加上AJAX入口點數據),這是非常簡單的,並放置在服務器內存中沒有真正的需求如此簡單的應用中,大部分資源佔用服務的圖像和在CPU負載方面他們會做的最重要的事情是向Web API發出curl請求,或者調用數據庫來獲取一些數據。

由於服務器併發流量和需求(平均10-20個dynos),我一直在研究如何配置應用以獲得最佳性能,並發現最大的瓶頸來自Heroku的限制默認boot.sh apache部署腳本,在我的應用程序by default上設置MaxClients=1

這會將Apache限制爲1 thread for handling HTTP requests

在新的和改進的2x dynos,其成本是兩倍,承諾兩倍的內存和CPU性能。

現在我可以理解,當主要瓶頸處理HTTP請求時,RAM並沒有太大區別,但我會假設新的dynos會設置MaxClients=2(還沒有檢查),所以我'我想知道是否我的應用運行得更好,其中2x的dynos數量比我通常使用的1x dynos的數量多一半。任何人都知道答案?

+1

這可能是有趣: http://serverfault.com/questions/415946/maxclients-exceeded-on-heroku ... – Detached 2013-05-03 08:10:35

回答

3

上升到2x dyno不會改變您的MaxClients。您需要更改您的應用程序配置以支持多個併發請求。