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 相关文章推荐
强烈推荐:php.ini中文版(2)
Oct 09 PHP
一个简单的自动发送邮件系统(三)
Oct 09 PHP
php Static关键字实用方法
Jun 04 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php动态绑定变量的用法
Jun 16 PHP
php实现的用户查询类实例
Jun 18 PHP
php组合排序简单实现方法
Oct 15 PHP
php的常量和变量实例详解
Jun 27 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 register_globals 值为on与off的理解
2013/09/26 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
javascript实现拖放效果
2015/12/16 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
vue 实现把路由单独分离出来
2020/08/13 Javascript
Python递归实现汉诺塔算法示例
2018/03/19 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
Python-opencv 双线性插值实例
2020/01/17 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
创伤外科专业推荐信范文
2013/11/19 职场文书
优秀学生获奖感言
2014/02/15 职场文书
热情服务标语
2014/10/07 职场文书
英语通知范文
2015/04/22 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS