web-dev-qa-db-ja.com

memcacheだけのスライス?

そのため、すべてのサイトをSlicehostでホストしており、現在、各アプリケーションを別々のスライスに配置しています。

just memcache用に個別のスライス設定を取得し、個別のアプリすべてでそのスライスでmemcacheを使用することは意味がありますか?

これを行うことの短所は何でしょうか?私が見ることができる長所は、1つのmemcacheインストールを管理し、特にキャッシュされたファイルを迅速に提供するためにスライスを最適化でき、他のことを心配する必要がないことです。

2
Shpigford

セットアップの残りの部分がそのままで良いと仮定すると、いいえ。

Temotoが書いているように、Memcachedは、WebノードがCPUに大きな負荷をかけているが、RAMが空いていることを前提として、Webノード(Webアプリケーションサーバー)で実行するように作成されました。 Memcachedのアーキテクチャ全体は、複数のサーバーで実行できるように構築されています。多いほど楽しい。

したがって、Memcachedを実行する必要がある場合は、空きRAMがあるすべてのサーバーで実行する必要があります。間違いなく、すべてのWebアプリケーションをすべてのWebサーバー(異なるポート)で実行して、CPU容量全体を負荷の急増に利用できるようにする必要があります。 (前のロードバランサーを使用して、URLに基​​づいてトラフィックを適切なアプリケーションにルーティングします。)

ただし、この設定は、日常のsysadmin作業で管理するのがより複雑になります。これはおそらく、アプリケーションをスケーリングするための最良の方法ではありません。

使用しているプラ​​ットフォームは記述しません。最新のWebアプリケーションサーバーのほとんどには、インプロセスキャッシュメカニズムがあります。 ネットワークキャッシングに進む前にインプロセスキャッシングを確認してください Memcachedのように...

2

理論的には、Webアプリケーションは大量のCPU(要求の解析、テンプレートのレンダリング)と少量のメモリを消費します。 Memcachedは反対です。それは彼らを完璧な隣人にします。

ただし、実際には、アプリケーションは通常、内部キャッシュを備えたデータベースサーバーを使用し、一般に、より多くのメモリを使用するとより適切に機能します。

あなたが詳細を提供しなかったので、そのような一般的な状況についてアドバイスを与えるのは難しいです。

  • より簡単なメンテナンスが必要な場合は、Webサイトごとにすべてを個別に行ってください。何かがうまくいかない場合、その単一のサイトだけがダウンします。
  • 既存のリソースをより集中的に使用する場合は、1つまたは2つのスライスをDB専用にし、他のすべてのスライスをmemcacheに使用します。
  • そのマシンのCPUは永久にスリープするため、memcachedのみのスライスを分離することは意味がありません。つまり、CPUサイクルを使用せずに、メモリのみを使用します。ホスティング業者にとっては良いことですが、あなたにとっては悪いことです。

しかし、何かを変更する前に、詳細な分析を行い、現在のボトルネックがどこにあるかを調べてください。

0
temoto