すべての重要な関数を 1 つの PHP ファイルに入れるようにコードを設計しました。このファイルは現在 1800 行の長さです。
他の PHP ファイル (たとえば、AJAX プロセッサ) では、単純な "require_once("codeBank.php")" を使用して呼び出します。
いくつかのグローバル配列と関連する他の関数の束しか持っていないにもかかわらず、これらすべての関数をロードするのに約 10 秒かかることがわかっています。たとえば、メインの AJAX プロセッサ コードは、単純な構文検証を実行するだけで 8 秒かかります (その操作関数は codeBank.php に格納されています)。
require_once をコメントアウトすると、AJAX の応答時間が 10 秒から 40 ミリ秒に短縮されます。PHP が 1800 行の関数を使用して何かを実行しようとしていることは明らかです。それは驚くべきことに、APC をインストールした状態でも同じです。
コード速度を 100 ミリ秒未満のレベルに戻すにはどうすればよいですか? どういうわけかキャッシュの利点を得ることができていませんか? その単一の機能バンク ファイルを別の部分に分割する必要がありますか? 応答時間を台無しにするために私ができる他の微妙なことはありますか?
または、それ以外に、どの PHP 操作がスピード バンプにぶつかっているのかをさらに掘り下げるツールは何ですか?
==========================
【追記】解決しました。
==========================
多くの親切な人々が指摘しているように、1800 行の php 関数ライブラリを使用するだけで速度が低下する論理的な理由はありません。実際に起こっていたのは、長い API 呼び出し関数の 1 つを呼び出すデバッグ行があったことです。PHP ファイルをインクルードするときはいつでも、リモートのクエリ データからデータ構造全体を構築していました。
その行を削除すると、すべてが 30 ミリ秒の素早い応答に戻りました。私にとって奇妙なのは、AJAX スクリプトが呼び出されるたびに require_once() が php ファイルを開くことです。しかし、それは私が体調を崩していて、AJAXスクリプトが終了するたびに閉じて、毎回再度開いて再コンパイルしていることを忘れている.