1

symfony で php_apc を使うといろいろ問題が出てきますが、

ブーストがそれほど重要でない場合は、apc を memcached に置き換えます。

4

2 に答える 2

8

APC と memcached は同じものではありません:


まず、APC には 2 つの役割があります。

  • これはオペコード キャッシュです (つまり、「コンパイル」部分が削除されるため、一般的に各 PHP ページに必要な CPU が少なくなります。APC をオペコード キャッシュとして初めて有効にしたとき、Web サーバーの CPU 負荷は 80% から次のようになりました。 40-50%)
  • また、非分散データ キャッシュでもあります。
    • これは、複数のサーバーがある場合、各サーバーにキャッシュのローカル コピーがあることを意味します。
    • これはまた、キャッシュに保存できるデータ量にかなり低い制限があることを意味します


memcached の場合:

  • それは単なるデータキャッシュです
  • 配布しています
    • つまり、memcached クラスター内のサーバー数に制限はありません
    • つまり、使用できるキャッシュの量に制限はありません


APC または memcached のいずれか、またはその両方をデータキャッシュとして使用できます(これは、私が現在取り組んでいるプロジェクトで行っていることです。一部のデータは APC にキャッシュされ、その他のデータは memcached を使用しています)

ただし、オペコードキャッシュが必要な場合は、 APC (または eAccelerator ; ただし、適切に維持されているかどうかはわかりません) を使用する必要があります

于 2010-02-19T05:51:18.853 に答える
4

これを見てください:)

Memcached は分散キャッシング システムですが、APC は非分散であり、主にオペコード キャッシュです。

異なる Web サーバー (負荷分散) に存在する必要がある Web アプリケーションがある場合 (およびその場合のみ)、分散キャッシュに memcache を使用する必要があります。そうでない場合は、APC とそのキャッシュに固執してください。

APC であるオペコード キャッシュを常に使用する必要があります (APC は php6 iirc に統合されるため、今すぐ使用を開始してください)。

両方を異なる目的に使用できます/使用する必要があります。

于 2010-02-19T05:43:48.340 に答える