软件简介

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相关推荐

  1. workman php教程_workerman搭建websocket入门教程,简单实用

    在物联网控制远程硬件的过程中,实时通信是必不可少的.不用实时通信可不可以呢?当然是可以的,但在实际应用中的体验可能就十分的不好了. 试想一下,一个联网电灯,控制端命令发出去,电灯要2到3秒钟以后才能开 ...

  2. workman 日志_workerman

    下载 手册参考:http://doc3.workerman.net/ 一.WorkerMan代码规范 1.  类采用首字母大写的驼峰式命名,类文件名称必须与文件内部类名相同,以便自动加载. 2.  使 ...

  3. 十分经典的批处理教程

    十分经典的批处理教程 工作中发现批处理真的很好用,希望深入学习下发现了这篇文章,语言幽默诙谐,条理清晰. 出处:本站收集于网络 作者:请作者联系 时间:2005-10-17 18:17:00  htt ...

  4. 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——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 ...

  5. 十分经典的windows批处理教程 (文笔很不错呢)

    本人今天去面试第一次遇到问我windows批处理脚本的之前是问shell脚本后来说他们那里既有windows主机也有linux主机所以都得会无奈小哥只会点shell批处理也只会一点点皮毛所以开始搜集学 ...

  6. Bat批处理命令使用教程(完整篇)

    Bat批处理命令使用教程(完整篇) 原帖:http://www.anqn.com/arp/article/2007-09-14/a0986565.shtml 此处仅是学习只用: 这是一篇技术教程,我会 ...

  7. windows批处理(脚本)命令最全教程

    原文url: http://www.x5dj.com/Blog/00534041/00389984.shtml 这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就能学到知识 ...

  8. 【转载】bat批处理教程 作者:hipi 日期:2006-11-05

    编者注:这是我十多年前学习批处理时找到的一篇入门教程.原作者以聊天的语气讲解批处理,算得上是一篇好文章.时过境迁,我已找不到原博文地址了,但文字版的博文被我保留在txt文本中.txt版丢失了段落格式, ...

  9. 批处理经典入门教程!(从不懂到高手)

    脚本之家补充说明:批处理相对来说是比较简单的语言,大家可以通过多写多看别人的实例来学习,不懂的百度一下. 这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识 ...

  10. 《转》批处理经典入门教程!(从不懂到高手)

    转自: https://www.jb51.net/article/7131_all.htm 这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.写这篇教程的 ...

最新文章

  1. PermutationImportance
  2. PowerShell入门
  3. python 12 socket 编程
  4. Input框设置只能输入中文
  5. ICMP协议抓包分析-wireshark
  6. 云速搭部署挂载CPFS的E-HPC
  7. Angular groupBy test
  8. Android Studio导入项目非常慢的解决办法
  9. LCD显示实验----STM32f4--HAL
  10. python打开csv文件绘制折线图,[转载]python绘制简单折线图
  11. 分库分表学习总结(3)——深入理解分布式事务
  12. 服务器更新升级BIOS操作步骤
  13. 大厂Android高级多套面试专题整理集合,大厂直通车!
  14. android游戏中期检查表,中期检查表教师评语
  15. matlab mode函数,matlab常用函数
  16. 使用Sentencepiece +CNN进行文本分类
  17. 黑客黑手伸向微博微信手机成网络钓鱼主要渠道
  18. python-数据分析-pandas (1)
  19. 新款ipad你了解多少?
  20. html 整体边距,html内容左右边距怎么设置

热门文章

  1. (转)JavaScript事件冒泡简介及应用
  2. leetcode Submission Details
  3. Javascript从零开始学习第一天
  4. 若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。...
  5. apache-cxf测试webservice添加header信息
  6. [swift 进阶]读书笔记-第八章:错误处理 C8P3 带有类型的错误
  7. 软件工程综合实践第二次作业——结对编程
  8. linux -初步认识之软件安装
  9. 从携程事件给我们警示
  10. Loadrunner11之VuGen常用函数lr_user_data_point(一)