1

私は主に、APC対memcached(オペコードキャッシュではない)のオブジェクトキャッシュにアクセスする際の速度の違いが何であるか疑問に思っています。memcached の主な利点は、分散され、ローカル マシンに限定されないことです。ただし、ネットワーク経由であるため、何らかの遅延が発生します。

APC (マシン上) と memcached (別のサーバー上) へのアクセスの速度差が、プログラムが最初に APC を試行し、次に memcached を試行し、最後にデータベースを試行するステージング キャッシュ スキームを保証するのに十分な大きさであるかどうか疑問に思っていました。失敗します。

4

2 に答える 2

1

他のほとんどすべてと同様に、場合によって異なります。

大量の計算があり、結果を保存できる場合は、キャッシュによって処理が高速化されます。基本的にデータベースから行を保存するだけの場合は、メモリ内キャッシュが役立ちますが、memcached はデータベースに対して大きな違いを追加しない場合があります (db クエリがすべて単純であると仮定します)。一方、複雑なクエリを実行している場合、または何かを作成するために多くのプログラム作業を行っている場合は、キャッシュの方がはるかに理にかなっています。

例を挙げると、私は最近、デザイン中にパフォーマンス作業を行わなかったサードパーティの請負業者によって作成されたサイトに取り組みました. 最適化されていないインクルードなどがたくさんあったため、雄牛のように遅かった. APC を追加すると、基本的にパフォーマンスが 10 倍向上しました。memaced を追加すると、読み込み時間が 10 ~ 20 ミリ秒短縮されました。

十分に進んでいる場合は、いくつかのパフォーマンス テスト (xdebug または別のツールを参照) を行い、ボトルネックがどこにあるかを確認してから、それに応じて計画を立ててください。

于 2012-08-15T18:26:11.380 に答える
0

APCキャッシュを他のものでいっぱいにすると、APCはページのオペコードを再度計算する必要があることに注意してください。これは、ページがオブジェクトを削除し続ける場合に問題を引き起こす可能性があり、ページが実行されると、オブジェクトはページを削除し続けます。楽しくない。

安全を確保し、スペースを確保するためにページが削除されないようにする構成値以外にAPCを使用するように誘惑しないでください。

TL; DR APCがいっぱいになると、サイトの速度が低下し、サーバーの動作が大幅に低下します。

于 2012-08-15T18:18:26.517 に答える