問題タブ [apc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - apc_compile_fileを使用してアプリ全体のオペコードキャッシュを手動で埋めてから、新しいリリースに切り替えます
タイトルにあるように、誰かが素晴らしいシステムやアイデアを持っていますか?
PHPで記述されApacheによって提供されるWebアプリの製品版をリリース1234からリリース1235に切り替えたいのですが、その前に、すべてのファイルをすでにオペコードキャッシュ(APC)に入れておきます。次に、切り替え後、リリース1234からファイルの古いキャッシュエントリを削除します。
私が考える限り、あるバージョンから次のバージョンにアトミックに切り替える簡単な方法は3つあります。
- / liveなどのシンボリックリンクがあります。これは常にドキュメントルートですが、あるバージョンから次のバージョンを指すように変更されています。
同様に、常にドキュメントルートであるディレクトリ/ liveがありますが、
mv live oldversion && mv newversion live
新しいバージョンに切り替えます。
- Apache構成を編集して、ドキュメントルートをnewversionに変更してから、apacheを再起動します。
3を実行する必要がない方が望ましいと思いますが、とにかくすべてのphpファイルをプリコンパイルし、1または2を使用してリリースを切り替えることは考えられません。
それで、誰かが私にオプション3に頼っても大丈夫だと説得するか、1または2で作業する方法を教えてくれるか、または私が考えていない他のオプションを明らかにすることができますか?
php - APC が期待どおりに機能していませんか?
私は次の機能を持っています:
そして、次のコードを使用してテストしています。
そして、これは出力です:
次のように見えませんか。
わかりません。この奇妙な動作を理解するのを手伝ってくれる人はいますか?
php - APC がインストールされた LAMP スタック - WordPress サイト - WP オペコードは APC でキャッシュされていますか?
APC がインストールされた LAMP スタックがあります。このサーバーに WordPress サイトがあります。WP はオペコード キャッシングを利用していますか? WP の設定は行っていません。私の理解では、APC がインストールされているということは、すべての PHP コードがキャッシュされているということです。そうでない場合は、APC を利用するように WP を構成する方法を教えてください。
注:これはServerFaultの質問だと思いましたが、解決策はコード関連であるため、Stackoverflowに投稿しました。
php - apc_delete() が呼び出された後、PHP の APC はメモリを再利用しますか?
もっと一般的に言えば、APC が内部で動作する方法がどこに文書化されているか知っている人はいますか?
php - PHP: apc_store が意図したとおりに機能しない
memcached を補完するものとして、特定のデータを各 Web サーバーに格納するために APC を試し始めました。
ただし、次のコードは頭痛の種です。
Memcached の例:
apc_store が適切に機能しないのはなぜですか?
編集: これがバグによって引き起こされた場合、解決策を探すのに 2 時間も費やす人が他にいないことを確認するために、次のようにします: http://pecl.php.net/bugs/bug.php?id=16894&edit= 1 (ただし、最も効果的ではありません)
php - セッションストレージに memcached/APC を使用していますか?
以前、セッション ストレージに memcached を使用することについていくつか考えたことがありましたが、memcached プール内の 1 台以上のサーバーがダウンしそうになった場合には十分ではないという結論に達しました。
ハイブリッド バージョンは、メイン データベース (mySQL) を読み取りによる負荷から保護することであり、キャッシュ プールからデータを取得しようとする関数を実行し、それが失敗した場合はデータベースからデータを取得することです。
もう少し考えた後、セッション関連のデータに APC キャッシュを使用することを考え始めました。Web サーバーがダウンした場合、セッションはどちらの方法でも失われるため、ローカルの APC またはローカルホストの memcached サーバーに保存することはそれほど悪くないでしょうか?
あなたの経験は何ですか?
php - APC の PHP パフォーマンスの低下??? (php 5.3、apache 2.2、windows vista 64bit)
Vista 64 ビット マシンで Apache モジュールとして Apache/2.2.15 (VC9) および PHP/5.3.2 (VC9 スレッド セーフ) を実行しています。すべて正常に動作しています。
私がベンチマークしているプロジェクト (apache の ab ユーティリティを使用) は、基本的に、db 接続を含まない標準の Zend Framework プロジェクトです。平均 (中央値) の apache 応答は約0.15 秒です。
標準設定で APC (3.1.4-dev VC9 スレッド セーフ) をインストールした後、要求応答時間が突然1.3 秒 (!)に上昇しました。スクリプト: 十分な shm メモリ、キャッシュがいっぱいでない、断片化 0%)。
唯一の違いは、統計検索を無効にすることでした (apc.stat = 0)。その後、応答は0.09 秒に低下し、apc がない場合よりも最終的に改善されました。IIRC、stat ルックアップがいくらかのオーバーヘッドを作成することは予想され、明らかですが、apc 拡張機能をまったく使用せずに実行する場合と比較して、はるかにパフォーマンスが高くなるのではないでしょうか?
別の言い方をすれば、なぜ apc.stat がこれほど多くのオーバーヘッドを生み出しているのでしょうか?
php - Windows 上の APC により、サーバーは接続を終了します
私にはちょっとした問題があり、何が起こっているのか一生理解できません。APC が有効になっているサーバーで Linux マシンを実行しています。すべて正常に動作します。
WindowsでAPCを有効にすると、サーバーは接続の終了を開始します。ご存じのように、「サイトは現在利用できません」というメッセージが Firefox から吐き出されます。
アクセス ログ、エラー ログを試しましたが、エラーを示すものは何もありません。APC はこのようなサーバーにどのように影響を与えることができるでしょうか?
ところで: ローカル サーバー/ライブ サーバーに CMS があります。ライブサーバーでは、APC とうまく連携します。開発サーバーでは、接続が終了します。奇妙なことに、単純なスクリプトは問題なく実行されます。CMS は CakePHP を使用しています。
どんな助けでも大歓迎です。
php - Apache httpd プロセス、PHP/Doctrine ベースのアプリケーションでのメモリ リークの特定
これらのコンポーネントを使用する PHP アプリケーションがあります。
- Centos 5.4 上の Apache 2.2.3-31
- PHP 5.2.10
- リモートデバッグが有効になっている Xdebug 2.0.5
- APC 3.0.19
- Doctrine ORM for PHP 1.2.1 クエリキャッシングと APC 経由の結果キャッシングを使用
- クエリ キャッシングを使用する MySQL 5.0.77
Apache を起動すると、最終的に 10 個の子プロセスが作成されることに気付きました。時間が経つにつれて、各プロセスは使用可能なメモリの 10% に近づくまでメモリ内で増加します。これにより、サーバーが低速になり始め、メモリの 100% を占有するようになるためです。
これが私のトップ出力のスナップショットです。
実行時間の長いスクリプトはありません (最終的にはすべて終了し、最長でもおそらく 2 分かかります)。各スクリプトが終了すると、スクリプトが使用するメモリの割り当てが解除されるという前提で作業しています。(多分誰かがそれについて私を修正することができます)。
私の推測では、APC はリクエスト間のデータを保存するため、APC である可能性がありますが、同時に、httpd プロセス内にデータを保存するのは奇妙に思えます。
アプリのどの部分がメモリ リークを引き起こしているかを追跡するにはどうすればよいですか?
httpd プロセス内でメモリ使用量がどのように増加しているか、およびその原因を確認するには、どのツールを使用できますか?
php - APC 3.1.x はどの程度安定していますか?
ボリュームの多いサイトの本番環境で APC 3.1.x を使用している人はいますか? 3.1 シリーズは「ベータ」リリースとラベル付けされていますが、本当に欲しい機能がいくつかあります (具体的には、 3.0.19にはならなかったapc_clear_cache('user') のパフォーマンスの改善)。
では、非常にアクティブなサイトで APC 3.1.x をうまく使用していますか? (1 秒あたり 1 つ以上の PHP リクエスト [images/js/css を除く]) 不安定な兆候はありますか?