2012-01-11 17 views
2

私はmemcachedとredisに話しているapacheの乗客を使ってクラウドVPSでレール3のアプリケーションをホストしています。簡単にするために、これらのサービスがすべてマシン上で実行されているものとします。memcached、redis、apacheの乗客とレール3のアプリを追加する

私は、VPSをリブートすることなく、このサーバに動的にメモリを追加できます。私は、新しいメモリが利用可能であることをApacheの乗客/ memcached/redisに "伝える"ベストプラクティスが何であるか疑問に思っていました。これらのサービスが自動的に検出するものですか?新しいメモリを有効にするために、サーバ/ memcached/redisを再起動する必要がありますか?私は望んでいません...

任意の考えをありがとうと思います。

答えて

2

あなたのスタックのすべての部分ではわかりませんが、助手席のスレッドはメモリが増えるにつれて単純に大きくなり、消耗したときにボックスはスワップを開始します。だから、基本的にはあなたの箱は無限の記憶を持っているとみなします。パッセンジャースレッドの場合、メモリを追加すると問題はありません。パッセンジャースレッドがメモリフットプリントを増やしている場合は、メモリを追加する必要があります。しかし、あなたが追加する新しいメモリを実際に使用するには、乗客が実行するスレッドの最大数を増やすには、httpd設定で設定されているように、Apacheを再起動する必要があります。

memcachedのようなものでは、memcachedを起動するときにキャッシュのサイズが決まるため、メモリを追加してもmemcachedサイズは増えません。同じ最大メモリ使用量を設定するものは同じですが、設定を変更して再起動する必要があります。

+0

わかりました。フォローアップの質問 - 旅客がリクエストを処理している間にmemcachedをシャットダウンすると、Rails.cacheが実行時の例外をスローします。 – deruse

関連する問題