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 用数组降低程序的时间复杂度
Dec 04 PHP
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
symfony表单与页面实现技巧
Jan 26 PHP
php类常量用法实例分析
Jul 09 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP读取xml方法介绍
2013/01/12 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
php常用字符函数实例小结
2016/12/29 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
Seajs源码详解分析
2019/04/02 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
python操作gmail实例
2015/01/14 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
Python自动抢红包教程详解
2019/06/11 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
jupyter notebook 重装教程
2020/04/16 Python
python中列表的含义及用法
2020/05/26 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
创业计划书的写作技巧及要点
2014/01/31 职场文书
初中考试作弊检讨书
2014/02/01 职场文书
《值日生》教学反思
2014/02/17 职场文书
致共产党员倡议书
2014/04/16 职场文书
实习生评语
2014/04/26 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
2015年市场部工作总结
2015/04/30 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
浅谈redis缓存在项目中的使用
2021/05/20 Redis