この記事の例では、php 非同期マルチスレッド swoole の使用方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
swoole は、PHP 言語の高性能ネットワーク通信フレームワークを再定義し、PHP 言語の非同期マルチスレッド サービスを提供します。次の例でこの機能を確認できます。
一般的に言えば、Swoole は、PHP 言語の非同期マルチスレッド サーバー、非同期 TCP/UDP ネットワーク クライアント、非同期 MySQL、データベース接続プール、AsyncTask、メッセージ キュー、ミリ秒タイマー、非同期ファイルの読み取りと書き込み、非同期 DNS クエリを提供します。 Swooleというのは聞いたことはありますが、ゲームサーバーとして使うとアーティファクトになります…今日はそれを少し体験して、ubuntuで環境を構築してテストしてみました
具体的なテストコードは以下の通りです:
<?php class page extends Controller { function index() { $data = createModel('UserInfo')->get(12)->get(); $this->swoole->tpl->assign('data',$data); $html = $this->swoole->tpl->fetch('test.html'); $time = $this->showTime(); return $html.$time; } } shell ab -c 100 -n 1000 -k http://127.0.0.1/index/ Requests per second Time per request (mean) Time per request (mean, across all concurrent requests)
動作メソッド:
Swoole EventTCP SWOOLECTCP SWOOLE BLOCKP Apache/PreFork
単一プロセス571.70 [#/SEC] 174.916 [MS] 1.749 [MS] 659.01 [#/sec]
151.743 [MS]
1.517 [MS] 61.24 [#
4プロセス
1153.63 [#/秒]
86.683 [ms]
0.867 [ms]
1010.08 ]
99.002 [ ms]
0.990 [ms]
1094.58 [#/sec]
91.359 [ms]
0.914 [ms]
Apache は実際に非常に効率が良いので、将来的に役立つでしょう。
この記事が皆様の PHP プログラミング設計に役立つことを願っています。
PHP 非同期マルチスレッド Swoole の使用例に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。