0

私はmpm-workerとmod_fcgidでApacheWebサーバーを使用しています。

mod_fcgidについて、オペコードキャッシングを利用できないことを読みました。

http://www.brandonturner.net/blog/2009/07/fastcgi_with_php_opcode_cache/

apcキャッシュモジュールが私のphp設定で有効になっているようです。

生成されたphpコードが共有されないかどうかはわかりません。

APCを削除する必要がありますか?オーバーヘッドはありますか?

4

2 に答える 2

2

生成されたphpコードが共有されないかどうかはわかりません。

この質問が役立つかもしれません。

APCを削除する必要がありますか?オーバーヘッドはありますか?

オーバーヘッドに関しては、プロセスがn個ある場合、キャッシュはn個になります。スペース効率は良くありませんが、 CPUサイクルの削減に役立つ可能性があります。

于 2010-11-30T00:16:52.023 に答える
1

opcode キャッシングを使用しますが、キャッシュは PHP プロセス間で共有されないため、プロセスごとに 1 回キャッシュされます。APC を使用する価値は間違いなくあります。

この記事を読んだので、fgcid と fastcgi に関して、ここに自分の $0.2c を投入します。最初に、この記事で説明したものとよく似たソリューションをデプロイしました。fastcgi を使用し、PHP プロセスが複数の子を生成するようにしました。これは、キャッシュ共有の問題を回避するための試みでした。

ただし、このソリューションでは定期的に完全なロックアップが発生しました。PHP プロセスがハングし、fastcgi がそれを検出できず、すべてのユーザーに対してアプリ全体がハングすることになります。

fcgid に再び切り替えたところ、ロックアップは完全に停止しました。プロセスごとのキャッシュには多少のオーバーヘッドがありますが、fcgid は必要なときにのみ新しい PHP プロセスを生成するため、実際にはオーバーヘッドは最小限です。

オペコード キャッシュだけでなく、APC でユーザー キャッシュも使用するため、トレードオフは間違いなく価値があります (データがキャッシュされるとサーバーでの作業が減り、オペコードがキャッシュされるとサーバーでの作業が減ります)、CPU 使用率は確実に減少します。わずかなメモリ使用量のペナルティ。

于 2010-11-30T00:53:14.057 に答える