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 Swoole SelectTCP Swoole BlockTCP Apache/Prefork
單進程
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進程
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下居然也有這麼好的效率, 留個爪子.以後好用