7

専用サーバーを購入できるようになるか、予備のサーバーができるようになるまで、EC2を介して少数のmemcachedサーバーを正常に実行できると考えているのは正しいですか?

今日のAmazonによる新しい自動スケーリングと負荷分散の発表で、皆さんはこれが実行可能なオプションになると思いますか?

そして、あなたが私に勧める基本的な技術的ステップは何でしょうか?

ありがとう

現在、専用サーバーが1つあり、memcachedサーバーはありません。EC2の機能を使用して、いくつかのインスタンスをセットアップし、そのようなmemcachedサーバーを実行したいと思います。それが私の現在の設定です。

4

5 に答える 5

10
  • 負荷分散はMemcachedとは何の関係もありません-サーバーへの接続にハッシュアルゴリズムを使用します
  • Memcachedで自動スケーリングを使用しないことを強くお勧めします。サーバーを追加すると、ハッシュアルゴリズムが破損し、キャッシュが無効になります。データが失われるため、再キャッシュする必要があります。
  • サーバーからEC2までのレイテンシーを確認する必要があります。50ミリ秒を超えると、パフォーマンスが大幅に低下します。まあ、とにかく仮定します。

1回のリクエストで複数のキーをプルして(方法についてはこちらを参照)、レイテンシーの影響を減らすことができますが、それでも最初のヒットを取得します。また、電話をかける前に、取得するすべてのキーを知っておく必要があることも意味します。それ以外の場合、各リクエストはスクリプトの実行時間に50ms(またはそれ以上)を追加します。

キャッシュしようとしているデータを検討してください。64MBのスラブはあなたを助けるのに十分な大きさですか?おそらくメインサーバーで実行できます。

于 2009-05-19T14:27:26.580 に答える
6

memcachedを実際に利用するには、memcacheがコードとできるだけ早く通信する必要があります。EC2サーバーと自分のサーバーの間にどれだけのレイテンシーがあるかを調査することをお勧めします。

最終的には、現在のボックスのRAMを4ギガ(約50ドル実行する必要があります)に上げて、メインサーバーにmemcachedを配置する方がよい場合があります。ドキュメントでは、実際には、リクエストを処理しているのと同じサーバーにmemcachedをインストールすることを推奨しています。アプリケーションのサイズとその機能によっては、1〜2ギガのmemcachedインスタンスが必要以上に大きくなる場合があります。

また、APCやEacceleratorなどのphpオブジェクトキャッシングエンジンを使用していない場合も役立ちます。

于 2009-05-18T20:16:53.427 に答える
1

最近、AWSは新しいWebサービスであるAmazonElasticCacheをリリースしました。このサービスは、Memcachedでプロトコルに準拠しています。

詳細については、http://aws.amazon.com/elasticache/を参照してください。

于 2011-10-07T09:29:39.620 に答える
0

現在のボックスには通常どのくらいの空きメモリがありますか?そこにmemcachedインスタンスを設定するだけではいけませんか?レイテンシー/オーバーヘッドなどの可能性があると思います。リモートキャッシュを使用することで、メリットが失われる可能性がありますが、そうではない可能性があります。

于 2009-05-18T19:42:22.387 に答える
0

より一般的には、任意のタイプのキャッシュメカニズムを使用する場合は、サーバーをキャッシュサーバーの非常に近くに配置することをお勧めします。例:データベースサーバーとMemcachedサーバーは、同じコロケーション、または同じAWS「リージョン」にある必要があります。キャッシングシステムを使おうとすると、パフォーマンスを向上させたいからです。キャッシュシステムをサーバーから遠ざけると、基本的にすべてのメリットが無駄になります。

一番、

于 2011-08-04T05:15:51.463 に答える