workerman效率高吗

发布时间 - 2019-12-12 00:00:00    点击率:

workerman本身是一个php多进程服务器框架,具有php进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以独立运行。

纯PHP开发

workerman完全使用PHP开发,使用workerman开发的应用程序不依赖php-fpm、apache、nginx这些容器就可以独立运行。 这使得PHP开发者开发、部署、调试应用程序非常方便。               (推荐学习: workerman教程)

支持PHP多进程

为了充分发挥服务器多CPU的性能,workerman默认支持多进程多任务。workerman开启一个主进程和多个子进程对外提供服务, 主进程负责监控子进程退出信号,并负责生成新的子进程去处理服务,这样做不仅提高了应用程序的性能,而且使得workerman更加稳定。

支持TCP、UDP

workerman支持TCP和UDP两种传输层协议,只需要更改配置的一个字段,便可以更换传输层协议,业务代码无需任何改动。

支持高并发

workerman支持Libevent事件轮询库(需要安装Libevent扩展), 使用Libevent在高并发时性能非常卓越,如果没有安装Libevent则使用PHP内置的Select相关系统调用。

支持各种应用层协议

接口上支持各种应用层协议,包括自定义协议。Workerman默认支持的协议有HTTP、WebSocket、以及简单的Text文本协议。 同时Workerman提供了通用的协议接口,开发者基于此接口便可以方便的开发出自己的协议。

支持长连接

很多时候需要PHP应用程序要与客户端保持长连接,比如聊天室、游戏等,但是传统的PHP容器(apache、nginx、php-fpm)很难做到这一点。 

使用workerman可以轻松使用PHP长连接。php单个进程可以支持几千甚至几万的并发连接,多进程则可支持数十万甚至上百万的并发连接。

自带监控

workerman内部带有监控统计模块,能够统计workerman自身的一些数据,如进程退出次数及退出状态,每个进程占用内存大小及监听的ip端口、每个进程启动时间、 进程运行的服务名、每个进程处理请求数、连接数、数据包发送失败量等等。这些信息可以本地运行php start.php status本地查看。

支持心跳检测

Gateway/Worker开发模型支持服务端的心跳检测,可以定时向客户端发送应用层的心跳,能够及时检测到客户端极端掉线情况(掉电、突发网络故障等)。


# workerman  # 应用程序  # 便可  # 客户端  # 应用层  # 自己的  # 是一个  # 不依赖  # 多个  # 很难  # 两种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  微信小程序 require机制详解及实例代码  英语简历制作免费网站推荐,如何将简历翻译成英文?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  微信小程序 input输入框控件详解及实例(多种示例)  如何快速搭建自助建站会员专属系统?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  JavaScript中的标签模板是什么_它如何扩展字符串功能  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel如何使用.env文件管理环境变量?(最佳实践)  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel如何发送系统通知?(Notification渠道示例)  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何正确选择百度移动适配建站域名?  Laravel观察者模式如何使用_Laravel Model Observer配置  Windows Hello人脸识别突然无法使用  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  如何在阿里云部署织梦网站?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  如何在搬瓦工VPS快速搭建网站?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  如何有效防御Web建站篡改攻击?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  PythonWeb开发入门教程_Flask快速构建Web应用  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  iOS UIView常见属性方法小结  *服务器网站为何频现安全漏洞?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  高防服务器如何保障网站安全无虞?  网站优化排名时,需要考虑哪些问题呢?  PHP正则匹配日期和时间(时间戳转换)的实例代码  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  bootstrap日历插件datetimepicker使用方法  简单实现jsp分页  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权