2012-01-11 17 views
2

我在雲VPS上使用apache乘客與memcached和redis進行對話來託管rails 3應用程序。爲了簡單起見,讓我們假設所有這些服務都在機器上運行。添加內存到軌道3與memcached,redis,apache乘客的應用程序

我有能力動態地添加更多的內存到這個服務器,而無需重新啓動VPS。我想知道什麼是「告訴」apache乘客/ memcached/redis中可以使用新內存的最佳實踐。這些服務是自動檢測的嗎?是否必須重新啓動我的服務器/ memcached/redis才能使新內存有用?我希望不會...

希望有什麼想法。

回答

2

不能確定你的堆棧的所有部分,但乘客線程只是增長,因爲他們需要更多的內存,當它用完時,你的盒子將開始交換。所以基本上它將你的盒子視爲擁有無限的記憶。在乘客線程的情況下,增加內存應該很好,並且如果你的每個乘客線程在內存佔用中不斷增長,將會被使用。但是爲了增加乘客運行的最大線程數量,爲了真正使用您添加的新內存,您需要重新啓動apache,就像在httpd配置中設置的那樣。

對於像memcached這樣的事情,緩存的大小在啓動memcached時確定,因此添加內存不會增加您的memcached大小。對於配置其最大內存使用情況的任何情況也是如此,它們都很可能會要求您更改配置並重新啓動。

+0

好的,有道理。後續問題 - 如果我在乘客提供請求時關閉memcached,將調用Rails.cache拋出運行時異常? – deruse 2012-01-11 22:09:46

相關問題