xdebugプロファイラでコードを実行し、30%以上の時間がrequire()呼び出しに費やされました。これを改善する最善の方法は何ですか?私は__autoloadの使用に関するいくつかの記事を見ましたが、APC(これは私たちが使用している)への影響についての矛盾した声明がありました。PHPのパフォーマンスがrequire()によって妨げられました
答えて
時間を消費する理由は、ディスクのIO速度です。実際に使用されていないファイルが必要な場合があるので、オートローディングを試すことができます。ディスクIOオーバーヘッドを減らすもう1つの方法は、PHPファイルを1つの大きなファイルに結合することです。常に必要なコードを含む大きなファイルを要求することは、複数の小さなファイルに同じコードを含めるよりも高速です。
また、APCには、有効化を試すことができるapc.include_once_overrideという機能があります。
あなたはapc.statを参照していますか? – bob
これはapc.include_once_overrideです –
あなたのインクルードパスにはいくつのアイテムがありますか?あなたのアプリケーションに合った場所の順序ですか?相対パスを使用している場合は、インクルードファイルを探すためインクルードパスの場所をチェックします。
インクルードに、相対パスの代わりに絶対パスを使用するようにしてください。これを行う最も簡単な方法は、あなたがhttp://eaccelerator.net/のように、PHPのコンパイラを使用して、コードの速度を向上させることができ
dirname(__FILE__) // for php < 5.3
__DIR__ // for php >= 5.3
であなたのパスを付加することです。
このようなコンパイラでは、すべての処理が高速化され、ファイルも含めて処理されます。
APCとautoloadには一度問題がありました。それはずっと前です。一般に、APCは構文解析されたファイルをキャッシュするので、require
ステートメントを高速化できます。デフォルトでは、APCはディスク上でファイルが変更されているかどうかを確認するためにファイルstat
を表示します。これを防ぐには、絶対パスを使用してapc.stat
の設定をオフにします。これは、キャッシュをクリアするためにサーバを再起動する必要があることに注意してください。
- 1. h3によって妨げられたフルハイト応答性のdiv
- 2. iOSアプリケーションの重複したJSONファイルにより、アプリケーションの構築が妨げられています。
- 3. ASP.NET検証コントロールにより、私のリダイレクトが妨げられますか?
- 4. XWalkViewがナビゲーションを妨げる
- 5. PHP Kohana。 Htaccessはサブフォルダへのアクセスを妨げるようです。
- 6. 404が完了しておらず、次のリクエストが妨げられています
- 7. ポイントクラウドで妨げられた点をくすぐる
- 8. Amazon S3がURLからのファイルへのアクセスを妨げます
- 9. トランジションによってボタンが押し下げられる
- 10. アンドロイドライブラリプロジェクトをアンドロイドプロジェクトに追加すると、Antのビルドが妨げられます
- 11. ページ上のJavaScriptエラーにより、jQueryハンドラの実行が妨げられています
- 12. これらの機能を妨げないようにするには
- 13. 依存関係注入によりクライアント側の検証が妨げられています
- 14. なぜCASCADE制約により、バルクレコードを持つテーブルの操作が妨げられていますか?
- 15. PHPとajax、デベロッパーコンソールのユーザー呼び出し機能を妨げる
- 16. jQueryがフォームの送信を妨げないようにする
- 17. IIS ASP.NET MVCとdllimport呼び出しによってファイルがロックされ、将来の展開が妨げられます
- 18. Windows 7以外のインストールでは、ドライバのインストールが妨げられますか?
- 19. Pythonコードのバグが成功した再帰を妨げる?
- 20. MySQL2がRailsの移行を妨げる
- 21. サーブレットコンテキストリスナーがWebアプリケーションのロードを妨げる
- 22. CherryPyがWindowsのTwistedシャットダウンを妨げる
- 23. ブートストラップがフォームの送信を妨げる
- 24. Mysql:SIGNAL SQLSTATEがデータの挿入を妨げています
- 25. カスタムRouteConfigがHttpPostの戻りを妨げています。
- 26. ボタンをクリックするとフォームの送信が妨げられます
- 27. なぜServletContextからのアップロードデータがサーブレットのロードを妨げていますか?
- 28. プラグインの更新後に製品リストの調整が妨げられる
- 29. hibernate.hbm2ddl.auto set validateによって "missing column"例外が発生し、セッションの作成を妨げる
- 30. 交差点タイプがコンパイルを妨げる
代わりにinclude()を試しましたか? –
はrequire()のinclude()のハードフェイルバージョンではありませんか? – bob
理論上、はい。私はそれが巨大な影響を与える可能性があるかどうか、疑問に思ったコメントではなく、答え: –