php异步多线程swoole用法实例
程序员文章站
2023-02-18 08:26:31
本文实例讲述了php异步多线程swoole用法。分享给大家供大家参考。具体分析如下:
swoole重新定义php语言的高性能网络通信框架,提供了php语言的异步多线程服务...
本文实例讲述了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)
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程序设计有所帮助。
下一篇: AI怎么绘制一个圆角梯形?