workman php教程_Workerman
软件简介
Workerman 是一个高性能的PHP socket
服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、游戏服务器等。
Workerman 的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。
workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-
fpm、nginx或者apache等这些容器便可以独立运行。
特性
使用PHP开发
支持PHP多进程
支持TCP/UDP
接口上支持各种应用层协议
支持libevent事件轮询库,支持高并发
支持服务平滑重启
支持PHP文件更新检测及自动加载
支持PHP长连接
支持以指定用户运行子进程
支持telnet远程控制
高性能
示例代码:
use Workerman\Worker;
require_once './Workerman/Autoloader.php';
// 创建一个Worker监听2346端口,使用websocket协议通讯
$ws_worker = new Worker("websocket://0.0.0.0:2346");
// 启动4个进程对外提供服务
$ws_worker->count = 4;
// 当收到客户端发来的数据后返回hello $data给客户端
$ws_worker->onMessage = function($connection, $data)
{
// 向客户端发送hello $data
$connection->send('hello ' . $data);
};
// 运行
Worker::runAll();
性能压力测试
测试环境:
系统:ubuntu 12.04 LTS 64位
内存:8G
cpu:Intel® Core™ i3-3220 CPU @ 3.30GHz × 4
业务逻辑:
hello world
结果:
短链接(每次请求完成后关闭链接,下次请求建立新的链接):
条件: 压测脚本开500个线程,每个线程链接Workerman 10W次,每次链接发送1个请求
结果: 吞吐量:3W/S , cpu:60% , 内存占用:4*8M = 32M
长链接(每次请求后不关闭链接,下次请求继续复用这个链接):
条件: 压测脚本开1000个线程,每个线程链接Workerman 1次,每个链接发送10W请求
结果: 吞吐量:13W/S , cpu:68% , 内存占用:4*8M = 32M
无流量抖动,无内存泄漏,性能非常强悍
workerman启动界面:
workerman状态查看界面:
workman php教程_Workerman相关推荐
- workman php教程_workerman搭建websocket入门教程,简单实用
在物联网控制远程硬件的过程中,实时通信是必不可少的.不用实时通信可不可以呢?当然是可以的,但在实际应用中的体验可能就十分的不好了. 试想一下,一个联网电灯,控制端命令发出去,电灯要2到3秒钟以后才能开 ...
- workman 日志_workerman
下载 手册参考:http://doc3.workerman.net/ 一.WorkerMan代码规范 1. 类采用首字母大写的驼峰式命名,类文件名称必须与文件内部类名相同,以便自动加载. 2. 使 ...
- 十分经典的批处理教程
十分经典的批处理教程 工作中发现批处理真的很好用,希望深入学习下发现了这篇文章,语言幽默诙谐,条理清晰. 出处:本站收集于网络 作者:请作者联系 时间:2005-10-17 18:17:00 htt ...
- 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——8 - My Father‘s Son(我父亲的儿子)
Unit 8 - My Father's Son(我父亲的儿子) My Father's Son Bill Heavy When my father rings, I hurry down to th ...
- 十分经典的windows批处理教程 (文笔很不错呢)
本人今天去面试第一次遇到问我windows批处理脚本的之前是问shell脚本后来说他们那里既有windows主机也有linux主机所以都得会无奈小哥只会点shell批处理也只会一点点皮毛所以开始搜集学 ...
- Bat批处理命令使用教程(完整篇)
Bat批处理命令使用教程(完整篇) 原帖:http://www.anqn.com/arp/article/2007-09-14/a0986565.shtml 此处仅是学习只用: 这是一篇技术教程,我会 ...
- windows批处理(脚本)命令最全教程
原文url: http://www.x5dj.com/Blog/00534041/00389984.shtml 这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就能学到知识 ...
- 【转载】bat批处理教程 作者:hipi 日期:2006-11-05
编者注:这是我十多年前学习批处理时找到的一篇入门教程.原作者以聊天的语气讲解批处理,算得上是一篇好文章.时过境迁,我已找不到原博文地址了,但文字版的博文被我保留在txt文本中.txt版丢失了段落格式, ...
- 批处理经典入门教程!(从不懂到高手)
脚本之家补充说明:批处理相对来说是比较简单的语言,大家可以通过多写多看别人的实例来学习,不懂的百度一下. 这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识 ...
- 《转》批处理经典入门教程!(从不懂到高手)
转自: https://www.jb51.net/article/7131_all.htm 这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.写这篇教程的 ...
最新文章
- PermutationImportance
- PowerShell入门
- python 12 socket 编程
- Input框设置只能输入中文
- ICMP协议抓包分析-wireshark
- 云速搭部署挂载CPFS的E-HPC
- Angular groupBy test
- Android Studio导入项目非常慢的解决办法
- LCD显示实验----STM32f4--HAL
- python打开csv文件绘制折线图,[转载]python绘制简单折线图
- 分库分表学习总结(3)——深入理解分布式事务
- 服务器更新升级BIOS操作步骤
- 大厂Android高级多套面试专题整理集合,大厂直通车!
- android游戏中期检查表,中期检查表教师评语
- matlab mode函数,matlab常用函数
- 使用Sentencepiece +CNN进行文本分类
- 黑客黑手伸向微博微信手机成网络钓鱼主要渠道
- python-数据分析-pandas (1)
- 新款ipad你了解多少?
- html 整体边距,html内容左右边距怎么设置
热门文章
- (转)JavaScript事件冒泡简介及应用
- leetcode Submission Details
- Javascript从零开始学习第一天
- 若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。...
- apache-cxf测试webservice添加header信息
- [swift 进阶]读书笔记-第八章:错误处理 C8P3 带有类型的错误
- 软件工程综合实践第二次作业——结对编程
- linux -初步认识之软件安装
- 从携程事件给我们警示
- Loadrunner11之VuGen常用函数lr_user_data_point(一)