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获取post中的json数据的实现方法
Jun 08 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
php include和require的区别深入解析
Jun 17 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
PHP中的事务使用实例
May 26 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
Laravel配合jwt使用的方法实例
Oct 25 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中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
smarty模板数学运算示例
2016/12/11 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python 自动补全(vim)
2014/11/30 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
简单介绍python封装的基本知识
2019/08/10 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
幼师自荐信
2013/10/26 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
平安建设汇报材料
2014/12/29 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python
python flappy bird小游戏分步实现流程
2022/02/15 Python
Python OpenCV实现图形检测示例详解
2022/04/08 Python