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利用COM对象访问SQLServer、Access
Oct 09 PHP
用PHP制作静态网站的模板框架(一)
Oct 09 PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
PHP实现简单数字分页效果
Jul 26 PHP
如何使用php实现评委评分器
Jul 31 PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 PHP
php自定义函数转换html标签示例
Sep 29 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
php常用日期时间函数实例小结
Jul 04 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
C# Assembly类访问程序集信息
2009/06/13 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
js如何取消事件冒泡
2013/09/23 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
canvas实现图像截取功能
2017/02/06 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
angular动态表单制作
2018/02/23 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
python Timer 类使用介绍
2020/12/28 Python
泰国在线书店:SE-ED
2020/06/21 全球购物
企业车辆管理制度
2014/01/24 职场文书
庆七一活动方案
2014/01/25 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
放假通知怎么写
2015/08/18 职场文书
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers