ホームページ  >  記事  >  PHPフレームワーク  >  PHPワーカーマンは非同期ですか?

PHPワーカーマンは非同期ですか?

(*-*)浩
(*-*)浩オリジナル
2019-12-05 11:57:172867ブラウズ

PHPワーカーマンは非同期ですか?

workerman 公式紹介: Workerman は、オープンソースの高性能非同期 PHP ソケット インスタント メッセージング フレームワークです。高い同時実行性と超高い安定性をサポートしており、モバイル アプリ、モバイル通信、WeChat アプレット、モバイル ゲーム サーバー、オンライン ゲームなどの開発に広く使用されています。 (推奨学習: workman チュートリアル )

TCP の長い接続をサポートし、Websocket、HTTP およびその他のプロトコルをサポートし、カスタム プロトコルをサポートします。非同期 Mysql、非同期 Redis、非同期 Http、MQTT IoT クライアント、非同期メッセージ キューなど、多くの高性能コンポーネントを備えています。

実際、Workerman は nginx の PHP バージョンに似ており、コアもマルチプロセス Epoll ノンブロッキング IO です。各 Workerman プロセスは数万の同時接続を維持できます。メモリ上に常駐するため、Apache、nginx、php-fpmなどのコンテナに依存せず、超高性能です。

高性能

高性能の Epoll イベント ネットワーク ライブラリに基づいて、単一のマシンで数百万の同時接続をサポートでき、長期的な接続スループットは次のようになります。 36W/S という高さ。 PHP データベースなどのオブジェクトはメモリ内に常駐できるため、解析、コンパイル、ネットワークのオーバーヘッドが軽減されます。

PHP ファイルは一度ディスクから読み込まれて解析されるため、メモリ上に常駐しますが、次回使用時にはメモリ内のオペコードが直接使用されるため、ディスク IO が大幅に削減されます。 PHPでは、リクエストの初期化、実行環境の作成など、字句解析、構文解析、オペコードのコンパイル、リクエストのクローズなど、時間のかかる処理がたくさんあります。

そして、nginx や apache などのコンテナに依存しません。nginx やその他のコンテナが PHP と通信する際のネットワーク オーバーヘッドが軽減されます。最も重要なことは、データベース接続を初期化することなく、リソースを永続的に維持できることです。毎回ワーカーマンを使ってアプリケーションを開発するので、プログラムのパフォーマンスが非常に高いです。

高可用性

は、サーバー バックエンド開発用として、日次売上高 1 億を超える電子商取引企業を含む多くの企業によって確認されており、よく知られています。オンライン ゲーム会社は、ゲーム バックエンドの開発にこれを使用します。

簡単な開発

インターフェースがシンプルで、すでに完成度の高いネットワーク アプリケーションが多数存在しており、PHP の知識があれば、これらのアプリケーションをベースにしてすぐに開発できます。独自のソケットアプリケーションサービス。

以上がPHPワーカーマンは非同期ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。