ホームページ  >  記事  >  php教程  >  PHP 非同期マルチスレッド Swoole の使用例

PHP 非同期マルチスレッド Swoole の使用例

高洛峰
高洛峰オリジナル
2016-12-21 13:39:582535ブラウズ

この記事の例では、php 非同期マルチスレッド swoole の使用方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

swoole は、PHP 言語の高性能ネットワーク通信フレームワークを再定義し、PHP 言語の非同期マルチスレッド サービスを提供します。次の例でこの機能を確認できます。

一般的に言えば、Swoole は、PHP 言語の非同期マルチスレッド サーバー、非同期 TCP/UDP ネットワーク クライアント、非同期 MySQL、データベース接続プール、AsyncTask、メッセージ キュー、ミリ秒タイマー、非同期ファイルの読み取りと書き込み、非同期 DNS クエリを提供します。 Swooleというのは聞いたことはありますが、ゲームサーバーとして使うとアーティファクトになります…今日はそれを少し体験して、ubuntuで環境を構築してテストしてみました

具体的なテストコードは以下の通りです:

<?php
class page extends Controller
{
    function index()
    {
        $data = createModel(&#39;UserInfo&#39;)->get(12)->get();
        $this->swoole->tpl->assign(&#39;data&#39;,$data);
        $html = $this->swoole->tpl->fetch(&#39;test.html&#39;);
        $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 サイトに注目してください。

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