php异步多线程swoole用法实例


Posted in PHP onNovember 14, 2014

本文实例讲述了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 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
php生成rss类用法实例
Apr 14 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
Zend Framework框架实现类似Google搜索分页效果
Nov 25 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 #PHP
PHP合并静态文件详解
Nov 14 #PHP
php判断类是否存在函数class_exists用法分析
Nov 14 #PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 #PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 #PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 #PHP
php获取url参数方法总结
Nov 13 #PHP
You might like
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
pybind11在Windows下的使用教程
2019/07/04 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
怎样写演讲稿
2014/01/04 职场文书
音乐教学反思
2014/02/02 职场文书
倡议书作文
2015/01/19 职场文书
青春雷锋观后感
2015/06/10 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
微信小程序基础教程之echart的使用
2021/06/01 Javascript
利用js实现简单开关灯代码
2021/11/23 Javascript