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 相关文章推荐
对盗链说再见...
Oct 09 PHP
一个PHP日历程序
Dec 06 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP数组array类常见操作示例
May 15 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
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
javascript 特殊字符串
2009/02/25 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
JS实现放烟花效果
2020/03/10 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python发腾讯微博代码分享
2014/01/10 Python
Python Requests 基础入门
2016/04/07 Python
详解python深浅拷贝区别
2019/06/24 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
陈欧广告词
2014/03/14 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL