Workerman 是什么

Fanly 问答 2019-08-02 13:45:58 阅读(...)

Workerman 是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。

Workerman 是一款开源高性能异步 PHP socket 即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机 app、移动通讯,微信小程序,手游服务端、网络游戏、PHP 聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。

Workerman

Workerman 支持 TCP 长连接,支持 Websocket、HTTP 等协议,支持自定义协议。拥有异步 Mysql、异步 Redis、异步 Http、MQTT 物联网客户端、异步消息队列等众多高性能组件。

workerman 的目标是让 PHP 开发者更容易的开发出基于 socket 的高性能的应用服务,而不用去了解 PHP socket 以及 PHP 多进程细节。 workerman 本身是一个 PHP 多进程服务器框架,具有 PHP 进程管理以及 socket 通信的模块,所以不依赖 php-fpm、nginx 或者 apache 等这些容器便可以独立运行。

Workerman 支持的特性

  • 纯 PHP 开发,多进程支持,支持 php7,支持 hhvm
  • 支持 TCP/UDP,单机可支持数百万以上 TCP 长连接
  • 支持分布式部署,集群能支持数百万甚至更高的并发 TCP 连接
  • 支持 libevent 事件触发网络库
  • 支持热更新及服务器平滑重启
  • 拥有异步 Mysql、Redis、Dns 等众多高性能组件

为什么 workerman 拥有卓越的性能

避免读取磁盘和反复编译

workerman 运行过程中,单个进程生命周期内只要 PHP 文件被载入编译过一次,便会常驻内存,不会再去从磁盘读取或者再去编译。 workerman 省去了重复的请求初始化、创建执行环境、词法解析、语法解析、编译生成 opcode 以及请求关闭等诸多耗时的步骤。 实际上 workerman 运行起来后便几乎没有磁盘 IO 及 PHP 文件编译开销,剩下的只是简单的计算过程,这使得 workerman 运行飞快。

数据或者资源可以全局共享

workerman 中多个请求是可以共享数据或者资源的,当前请求产生的全局变量或者类的静态成员在下一次请求中仍然有效。 这对于减少开销,提高运行效率非常有用。例如业务只要初始化一次数据库连接,那么全局都可以共享这个连接,这实现了真正意义上的数据库长连接。 从而不必每次用户请求都去创建新的连接,避免了连接时三次握手、连接后权限验证以及断开连接时四次挥手等耗时的交互过程。不仅数据库,像 redis、 memcache 等同样有效。少了这些开销和网络交互,使得 workerman 运行更快。

没有多余的网络开销

传统 PHP 应用程序需要借助 apache、nginx 等容器才能对外提供网络服务,这就导致多了一层 apache、nginx 等容器到 PHP 进程的数据传输开销。 并且由于运行了 apache 或者 nginx 容器,这将进一步消耗服务器的资源。 workerman 便没有这部分开销,这是由于 workerman 自身便是一个服务器容器具有 PHP 进程管理以及网络通讯功能, 完全不依赖于 apache、nginx、php-fpm 等这些容器便可以独立运行,所以性能更高。

进程模型简单

workerman 是多进程(也有多线程版本)的,可以充分利用服务器多核资源。并且 workerman 具有简单的进程模型,主进程只负责监控子进程,而每个子进程独自接受维护客户端的连接,独自读取连接上发来的数据,独自处理。 子进程间默认没有任何数据通讯,主进程和子进程之间只有一次信号通讯。简单的进程通讯模型使得 workerman 相比其它复杂的进程模型的软件更高效。

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • White list 白名单

    教育部白名单赛事是什么意思

    白名单赛事是教育部每年公布的面向6-18岁学生竞赛活动,组织主体是由中央编办、民政部登记注册的正规机构,赛事必须坚持公益性原则和自愿性原则,不收取任何报名费,含 36 项竞赛活动,比赛分为自然科学素养类、人文综合素养类、艺术体育类三个大类。
  • PASSIVE KEYLESS ENTER 无钥匙进入系统

    汽车无钥匙进入系统是什么

    汽车无钥匙进入系统是采用了RFID无线射频技术和最先进的车辆身份编码识别系统,率先应用小型化、小功率射频天线的开发方案,并成功的融合了遥控系统和无钥匙系统,沿用了传统的整车电路保护,真正的实现双重射频系统,双重防盗保护,提供便利和安全。
  • UWB 超宽带技术

    UWB技术是什么

    UWB技术是超宽带技术,一种无线载波通信技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,占频谱范围很宽,有系统复杂度低,发射信号功率谱密度低,对信道衰落不敏感,截获能力低,定位精度高等优点,适用于密集多径场所的高速无线接入。
  • smartkey 智能钥匙

    smartkey是什么

    SmartKey就是智能钥匙,智能钥匙是新一代的RFID产品,是一种安全性非常高的非接触式的自动识别技术,关键技术是每一个系统只有一个唯一的,不可复制的识别码,是一种射频自动设别系统,常应用于汽车、门禁、监狱管理等系统。
  • Smart key 智能钥匙

    智能钥匙是什么

    智能钥匙是一种通过发射红外线信号来打开一个或两个车门、行李箱和油箱盖,也可以操控汽车的车窗和天窗的钥匙,智能钥匙从外观上看就像一张卡片,存放起来非常方便,特别是在夜间只要驾驶员触到车门智能钥匙就可开启车门,非常便捷。
  • Digital car key 数字车钥匙

    数字车钥匙是什么

    数字钥匙也被称为蓝牙钥匙或者虚拟钥匙,数字钥匙主要是利用近场通信技术,使得用户可以通过带有NFC功能的智能手机或可穿戴智能设备来进行车门的开锁闭锁,以及车辆的启动等操作,以及监控你的汽车开启次数,车的实时状态等发到你的手机上。