webmanのパフォーマンス
伝統的なフレームワークのリクエスト処理フロー
- nginx/apache がリクエストを受け取る
- nginx/apache がリクエストを php-fpm に渡す
- php-fpm が環境を初期化し、変数リストを作成する
- php-fpm が各拡張機能/モジュールの RINIT を呼び出す
- php-fpm がディスクから PHP ファイルを読み込む (opcache を使用すると回避できる)
- php-fpm がレキシカル解析、構文解析、opcode にコンパイルする (opcache を使用すると回避できる)
- php-fpm がopcodeを実行する。これには8.9.10.11が含まれる
- フレームワークの初期化、コンテナ、コントローラー、ルート、ミドルウェアなどのクラスのインスタンス化
- フレームワークがデータベースに接続して権限を検証し、Redis に接続する
- フレームワークがビジネスロジックを実行する
- フレームワークがデータベースと Redis の接続を閉じる
- php-fpm がリソースを解放し、すべてのクラス定義、インスタンス、シンボルテーブルなどを破棄する
- php-fpm が各拡張機能/モジュールの RSHUTDOWN メソッドを順番に呼び出す
- php-fpm が結果を nginx/apache に転送する
- nginx/apache が結果をクライアントに返す
webmanのリクエスト処理フロー
- フレームワークがリクエストを受け取る
- フレームワークがビジネスロジックを実行する
- フレームワークが結果をクライアントに返す
そうです、nginx のリバースプロキシがない場合、フレームワークはこれらの3つのステップのみです。これはすでに PHP フレームワークの究極と言えるでしょう。これにより、webmanのパフォーマンスは伝統的なフレームワークの何倍も、数十倍にもなると言えます。
詳細はパフォーマンステストを参照してください。