本文實(shí)例講述了php異步多線程swoole用法。分享給大家供大家參考。具體分析如下:
swoole重新定義PHP語(yǔ)言的高性能網(wǎng)絡(luò)通信框架,提供了PHP語(yǔ)言的異步多線程服務(wù),下面的實(shí)例就可以證實(shí)這一功能。
一般來(lái)說(shuō),Swoole提供了PHP語(yǔ)言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶端,異步MySQL,數(shù)據(jù)庫(kù)連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫(xiě),異步DNS查詢(xún).
swoole以前聽(tīng)過(guò), 拿來(lái)做游戲服務(wù)器簡(jiǎn)直是神器…今天稍微的感受了一下, 在 ubuntu 下搭建了環(huán)境, 測(cè)試了一下
具體測(cè)試代碼如下:
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)
運(yùn)行方式:
Swoole EventTCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
單進(jìn)程
571.70 [#/sec] 174.916 [ms] 1.749 [ms] 659.01 [#/sec]
151.743 [ms]
1.517 [ms]
561.24 [#/sec]
178.178 [ms]
1.782
80.57
1241.083 [ms]
12.411 [ms]
4進(jìn)程
1153.63 [#/sec]
86.683 [ms]
0.867 [ms]
1010.08 [#/sec]
99.002 [ms]
0.990 [ms]
1094.58 [#/sec]
91.359 [ms]
0.914 [ms]
apache下居然也有這么好的效率, 留個(gè)爪子.以后好用。
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。