4つの.5GBmemcacheサーバーを実行することと1つの2GBインスタンスを実行することの間に違いはありますか?
複数のインスタンスを実行することにはメリットがありますか?
4つの.5GBmemcacheサーバーを実行することと1つの2GBインスタンスを実行することの間に違いはありますか?
複数のインスタンスを実行することにはメリットがありますか?
1 つのインスタンスが失敗した場合でも、キャッシュを使用する利点が得られます。これは、稼働中のマシン間で新しい読み取り/書き込みを分散させるのではなく、同じデータを同じインスタンスにもたらす Consistenthashing を使用している場合に特に当てはまります。
また、約 3GB 以上のメモリに対応できない 32 ビット オペレーティング システムでサーバーを実行することもできます。
FAQ を確認してください: http://www.socialtext.net/memcached/およびhttp://www.danga.com/memcached/
高可用性は素晴らしく、memcached はキャッシュを 4 つのサーバーに自動的に分散します。これらのサーバーのいずれかが何らかの理由で停止した場合、キャッシュが空白であるかのように続行するか、別のサーバーにリダイレクトするか、任意の種類のカスタム エラー処理を行うことで、そのエラーを処理できます。1x 2GB サーバーが故障した場合、選択肢はかなり限られます。
覚えておくべき重要なことは、キャッシュのコピーが 4 つあるのではなく、4 つのサーバーに分割された 1 つのキャッシュであるということです。
唯一の欠点は、1x 2GB メモリを使い果たすよりも 4x .5 を使い果たす方が簡単だということです。
また、理論的には、複数のマシンの場合、パフォーマンスをいくらか節約できる可能性があることも付け加えておきます。多くのフロントエンドが大量の読み取りを実行している場合は、それらを異なるマシンに分割する方がはるかに優れています。ネットワーク機能1台のマシンの処理能力が上限になる可能性があります。
ただし、この利点はmemcacheの使用率に大きく依存します(1台のマシンからすべてをフェッチする方がはるかに高速な場合があります)。