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实现框架(二)
Oct 09 PHP
PHP中for循环语句的几种变型
Nov 26 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
PHP代码实现表单数据验证类
Jul 28 PHP
php实现多维数组排序的方法示例
Mar 23 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
php实现自动生成验证码的实例讲解
Nov 17 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
npm qs模块使用详解
2020/02/07 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
python统计文本文件内单词数量的方法
2015/05/30 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
Python的requests网络编程包使用教程
2016/07/11 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
python实现彩票系统
2020/06/28 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
python实现矩阵打印
2019/03/02 Python
150行Python代码实现带界面的数独游戏
2020/04/04 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
python中四舍五入的正确打开方式
2021/01/18 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
大学生创业策划书
2014/02/02 职场文书
关于mysql中string和number的转换问题
2022/06/14 MySQL