php异步多线程swoole用法实例
swoole重新定义PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务,下面的实例就可以证实这一功能。
一般来说,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下居然也有这么好的效率, 留个爪子.以后好用。
希望本文所述对大家的PHP程序设计有所帮助。
更多php异步多线程swoole用法实例相关文章请关注PHP中文网!
上一篇: mysql - php根据相似度查找重复数据怎么实现?
下一篇: 编译安装ruby 和Nginx
推荐阅读
-
PHP面向对象程序设计之类常量用法实例,sed用法实例
-
php下pdo的mysql事务处理用法实例,pdomysql_PHP教程
-
easyui的tabs update正确用法分享_php实例
-
ThinkPHP中__initialize()和类的构造函数__construct()用法分析_php实例
-
smarty中post用法实例_php实例
-
thinkphp3.x中display方法及show方法的用法实例_php实例
-
CI框架数据库查询之join用法分析_php实例
-
php获得网站访问统计信息类Compete API用法实例_php技巧
-
php中ob_get_length缓冲函数用法实例详解
-
php字符串替换函数substr_replace()用法实例_PHP教程