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
下载文件的点击数回填
Oct 09 PHP
SMARTY学习手记
Jan 04 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
Apr 24 PHP
如何用php生成扭曲及旋转的验证码图片
Jun 07 PHP
php网站判断用户是否是手机访问的方法
Nov 01 PHP
php给图片加文字水印
Jul 31 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
php生成图片缩略图功能示例
Feb 22 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
PHP解决高并发的优化方案实例
Dec 10 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经典的给图片加水印程序
2006/12/06 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
jquery编写日期选择器
2017/03/16 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
Node.js 8 中的重要新特性
2017/06/28 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
出生公证委托书
2014/04/03 职场文书
人资专员岗位职责
2014/04/04 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏