私たちが知っているように、PHPは「何も共有しない」という考え方で動作します。 したがって、パフォーマンスに重大な制限があります。同じPHP実行インスタンスを使用して複数のリクエストを処理するにはどうすればよいですか?
コンパイルされたスクリプトはいくつかのキャッシング拡張で高速化できますが、非常に重い初期化を避けることはできません(たとえば、Webサービスがあり、すべての呼び出しで少なくともDTOスキーマの解析とブートストラッピング、データベース(永続的なmysql接続は、その観点からは本当に汚いです)、別のリモートサービスを開くなど)。
また、この問題はReactPHPフレームワークによって解決されるようですが、軽量で非フレームワークなソリューションは存在しますか?ハッキングの方法から、1ファイルの例から、軽量ライブラリ(フレームワークではない)までが認められています。 複雑なWebサーバーの再作成機能は必要ありません。単純なPOST要求を処理するだけで十分です。
<offtopic>
タスク自体はPHPは、まだこのアウトオブボックスを提供していないなぜかしら...
</offtopic>
opcacheとallを使用すると、これは大きな影響を与えません。ほとんどのフレームワークは、現在のタスクを処理するために必要なモジュールのみをロードします。私はHTTP POSTについてはわかりませんが、ソケットは機能します。 – Salketer
モジュールローディングがボトルネックではなく、セットアップリソースを共有する必要がある初期化を想定します。 ReactPHP(そのような唯一のフレームワークですか?)はそれを解決しますが、それを使用することは、それほど高いサポートがない複雑なフレームワークへの依存を意味します。このような単純な作業にはあまりにも危険です。 –
本当にそんなにシンプルな仕事だったら、他の解決策もあると思いませんか? PHPのすべてがステートレスです。 exec()でステートフルなリソースを使用し、PHPを非常にスリムにしない限り、それは難しいでしょう。しかし、私は本当にこの "ボトルネック"がFacebookに問題がない間、あなたに害を及ぼしているのではないかと疑う。 – Salketer