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 和 MySQL 基础教程(一)
Oct 09 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
php单一接口的实现方法
Jun 20 PHP
深入理解PHP内核(一)
Nov 10 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
微信支付开发发货通知实例
Jul 12 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
PHP读取文件或采集时解决中文乱码
Mar 09 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
header()函数使用说明
2006/11/23 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Python Queue模块详解
2014/11/30 Python
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
Django之模型层多表操作的实现
2019/01/08 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
夜大毕业自我鉴定
2013/10/11 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
法学函授自我鉴定
2014/02/06 职场文书
社区维稳工作方案
2014/06/06 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书