php异步多线程swoole用法实例
本文实例讲述了php异步多线程swoole用法。分享给大家供大家参考。具体分析如下:
swoole重新定义PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务,下面的实例就可以证实这一功能。
一般来说,Swoole提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询.
swoole以前听过,拿来做游戏服务器简直是神器…今天稍微的感受了一下, 在ubuntu下搭建了环境,测试了一下
具体测试代码如下:
<?php classpageextendsController { functionindex() { $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-c100-n1000-khttp://127.0.0.1/index/ Requestspersecond Timeperrequest(mean) Timeperrequest(mean,acrossallconcurrentrequests)
运行方式:
SwooleEventTCPSwooleSelectTCPSwooleBlockTCPApache/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下居然也有这么好的效率,留个爪子.以后好用。
希望本文所述对大家的PHP程序设计有所帮助。