首頁  >  文章  >  php教程  >  php異步多線程swoole用法實例

php異步多線程swoole用法實例

高洛峰
高洛峰原創
2016-12-21 13:39:582545瀏覽

本文實例講述了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)

運行方式:

具體測試代碼如下:
rrreee TCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
單一進程
571.70 [#/sec] 174.916 [ms] 1.749 [ms] 659.01 [#/sec]
151.743 [ms] 659.01 [#/sec]
151.743 [ms]51. 78 [ms]
1.782
80.57
1241.083 [ms]
12.411 [ms]
4進程
1153.63 [#/sec]
86.683 [ms]
. ms]
0.990 [ms]
1094.58 [#/sec]
91.359 [ms]
0.914 [ms]

apache下居然也有這麼好的效率, 留個爪子.以後好用。

希望本文所述對大家的PHP程式設計有所幫助。

更多php非同步多執行緒swoole用法實例相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn