問題タブ [opcode-cache]
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 - オペコード キャッシュがメモリ使用量に与える影響
PHP オペコード キャッシュに関連するメモリ使用量のオーバーヘッドを誰か教えてもらえますか?
の多くのレビューを見てきましたopcode cache
が、それらはすべてパフォーマンスの向上にのみ集中しています。小規模なエントリー レベルのVPS を使用していて、メモリ制限が懸念事項です。
php - PHPで解析時間を測定する方法はありますか?
ランタイムベンチマークによるPHPコードの最適化は簡単です。コードブロックの周りのmicrotime()を介して$startと$endの時間を追跡します-microtime()の使用を含む答えを探していません。
私がやりたいのは、PHPがコードを実行する準備をするのにかかる時間を測定することです-コード解析/オペコードツリー構築時間。私の考えでは、サイトにあるすべてのページに必要なすべてのクラスを含めるのは簡単ですが、CPUのオーバーヘッドを「解放」することはできません。解析時間が実際にどれほど「高価」であるかを知りたいのですが。
APCなどのオペコードキャッシュはシナリオの一部ではないと想定しています。
PHPでの解析時間の測定は、mod_phpで行わなければならないことであるというのは正しいでしょうか?
編集:可能であれば、コードでの使用法を考慮に入れる$_SERVER['DOCUMENT_ROOT']
と役に立ちます。コマンドソリューションは、これを行うために少し手を加える必要があるかもしれません(しかし、それでも価値のある答えです)。
php - apc vs eaccelerator vs xcache
これらのどれを使用するかについて調査を行っていますが、際立ったものを実際に見つけることができません。 EacceleratorはAPCよりも高速ですが、APC の方が維持されます。Xcacheの方が高速ですが、他の構文の方が簡単です。
どちらを使用するべきか、またその理由について推奨事項がある人はいますか?
php - PHP オペコード キャッシュは __autoload で動作しますか?
これが基本的なものである場合は申し訳ありませんが、PHP の OO についてできる限り多くのことを学ぼうとしており、その使用方法をゆっくりと学んでいます (非常に限られています)。
__autoload() が PHP オペコード キャッシュに影響を与えるかどうかを知りたいですか?
php - PHPオペコードキャッシュの基本
現在、別のサイトで再利用する予定のない非常に大規模なプロジェクトでは、サイトの名前がどこのファイルにもハードコードされています。さて、もし私がサイト名を変更したとしたら、それをどこでも変更するのは大変な努力を要するでしょう。明らかな解決策は、名前を変数または定数として格納することですが、それを私のマイクロ最適化の考え方と呼ぶことができると思います。PHPが解析する必要のあるものが1つ少なくなると常に考えていました。それほど大きな違いはないことはわかっていますが、APCのようなオペコードキャッシュを使用することで、PHPがそれを再解析する必要さえないかどうかを知りたかっただけです。
php - モノリシックな PHP コーディングと小さな特殊な php スクリプトの利点/欠点は何ですか?
私はこれまで、PHP コーディングに対してモノリシックなアプローチを使用してきました。
つまり、平均サイズが 70k ~ 250k の index.php を 1 つ作成し、
残りの部分を回します
何が起こっているかを制御するためにindex.phpに渡されるパラメータに。
別の方法は、それぞれが特定の目的に特化した多数の小さな php スクリプトを作成することです。私のよりアクティブな ajax スクリプトのいくつかは、この恩恵を受ける可能性があると考えています。
この思考プロセスに私を留めていることの 1 つは、インクルードの使用、特に条件付きインクルードがオペコード キャッシュのパフォーマンスにどのように影響するかがわからないことです。
私は一般的に、これについてのパラノイアのために、可能であればインクルードを完全に避けてきましたが、これはコードを複製するか、モノリシックのままにすることになります。
とにかく mod_rewrite を使用しているので、2 つの方法論間の変換は簡単なはずです。
コメントをお待ちしております。
編集: 私の対象アプリの 1 つは、現在、1 秒あたり 80 ~ 100 ページのヒットを処理しています (適切なハードウェアを入手しました)。それらのほとんどは ajax リクエストです。すべてが機能し、きびきびと動作しますが、私は php プログラマーとして批評せずに開発しており、必要としています。
php - あなたはどちらを選びますか?XCache または APC?
プロジェクトに opcode-cache が必要です。また、データストア (mysql によって返された行) キャッシュに使用しますか? あなたに最適なのはどれですか?なぜですか?
apc - APC ヒット/ミスと構成
APC オペコード キャッシングに関する「ヒット & ミス」とは何ですか? APC をインストールして問題なく動作していますが、「いくつかの」ミスがあり、それが「悪い」のではないかと考えています。また、私は Openx を実行しているため、「キャッシュ フル カウント」がすぐにいっぱいになります。それを最小限に抑えるには、構成で何を変更する必要がありますか? 推奨される構成はありますか?
php - パスによるapc.filters?
特定のパスをキャッシュしないようにするには、APCオペコードキャッシングでapc.filtersパラメーターをどのように使用しますか?たとえば、次のパスの下にあるすべてのものに対してキャッシュをアクティブにします。
"/ var / www / vhosts"
次のようなパスを除外します
"/ usr / share / psa-horde /"
使ってみました
と
しかし、どちらも私が期待したようには機能しませんでした。
http://www.php.net/manual/en/apc.configuration.php#ini.apc.filters
フィルタは「+/var / www / vhosts / *」(ワイルドカードに注意)のようなものにする必要がありますか?フィルタの動作方法が原因で、これは不可能だと思います。
照合に使用されるファイル名は、絶対パスではなく、include/requireに渡されるファイル名であることに注意してください。
アイデアやサンプル構成はありますか?
php - PHP5 フレームワーク: オートローディングとオペコード キャッシング
多くのフレームワークはspl_autoload_register()
、動的にクラスをロードするために使用します (つまり、コントローラーとモデル)。自動ロードとオペコード キャッシングの問題に関する投稿がいくつかあります。特に1つの投稿には、@RasmusがAPCをオペコードキャッシュとして利用している人々にとって不快であることが証明されている多くのステートメントを作成することを参照する@cletusによる応答があります。
オペコード キャッシュのパフォーマンスに影響を与えないオートローディングの代替案についての議論はないようです。
自動ロードされたクラスがバイトコードキャッシュに追加されないという事実を回避する方法はありますか?
そうでない場合、キャッシュされるクラスを動的にロードするための代替方法はありますか?