WebサーバーのMemcached

WebサーバーのMemcached

Amazon EC2 でホストされている Magento Web ストアをホストしていますが、速度の問題が発生しています。現在、他のプロバイダに切り替えることを検討しています。ホスティングプロバイダーが見つかり、テストアカウントが作成されました。速度は比較的良いです。彼らはmemcachedを使用していますが、サーバーでこれを使用している場合、状況がどのように改善されるのか疑問に思います。

私はmemcachedがデータベーステーブルをキャッシュしていることを読んでいましたが、データベースサーバーではなくWebサーバーにインストールされていることを知っています。

Memcachedを使用すると、欠点や危険がありますか?

スピードアップに加えて、他のアプリケーションに予期しない影響がありますか? RAMはどうですか?正常に動作するにはもっと必要がありますか?今、私たちは1715MBのRAMを持つようになりました(奇妙な数値ですが、報告された内容はそれほどです)。

答え1

コンピューティングノードまたはネットワークサーバーにmemcachedをインストールすると、クエリが接続される前にクエリをキャッシュできます。 (たとえば)PHPがオンラインにアクセスする前にリッチキャッシュにアクセスできる場合、Apacheインスタンスはより高速になります。とにかく、データベースボックスの空きメモリをデータベースインスタンスに割り当てて、できるだけ多くのメモリを使用できるようにし、メモリに保存できるだけバッファリングすることをお勧めします。

もちろん、MemcachedはWebサーバーのメモリを使用するため、コンピューティング/ Webノードがスワップスペースを排他的にしないように過度に割り当てたくありません。これにより、すべての空間トレードオフが削除されます。

私の限られた経験によると、これは魔法の弾丸ではありません。他のキャッシュやその他のパフォーマンス調整の努力と同様に、調整して観察する必要があります。データベースごとに複数のネットワークホストがある場合は、より良くなりますが、まだ1つのネットワークボックスと1つのデータベースボックスに比べていくつかの素晴らしい改善点を示す必要があります。まだ同じボックスにデータベースとネットワークをインストールしていないと言いたいです。そうしたい場合は、もう一度考えてみましょう。

答え2

Memcachedを使用すると、欠点や危険がありますか?

はい。同時に、そのウェブサイトを運営する他のユーザーとコンピュータを共有する場合は使用しないでください。 memcachedの仕組みの鍵は、ローカルポートでリッスンすることです。ローカルアクセス権を持つ人は誰でもmemcachedにアクセスでき、ここに保存されているすべてのアイテムは脆弱になります。また、memcachedポートがインターネットに接続されないようにブロックされていることを確認する必要があります。

関連情報