php webman,webman 体验及性能压测

webman 是一款基于 workerman 开发的 http 服务框架,用于开发 web 站点或者 http 接口。支持路由、中间件、自动注入、多应用、自定义进程、无需更改直接兼容现有 composer 项目组件等诸多特性。具有学习成本低、简单易用、超高性能、超高稳定性等特点。

简单来说,webman 是基于 workerman 的一款常驻内存的 应用 服务框架,运行模式为多进程阻塞模式,IO模型肯定是多路复用,至于是 select/poll 还是 epoll 应该同 workerman 的场景一致,看是否安装了 event 扩展了(建议安装,高并发下 epoll 模型更具优势)。

虽然不像当前许多基于 swoole 的 协程 或 类似 node/reactPHP 等 eventLoop 的异步非阻塞模式的框架,但基于 epoll 模型时,开 cpu 个 worker 单机 C10K 也没什太大鸭梨。

小课堂

单进程模式

一个服务进程,来一个请求就阻塞,处理期间拒绝响应其他请求。 1、开始等待当前请求 网络IO 完成。 2、紧接着处理代码业务(期间可能也会伴随着各种 网络IO,你的业务网代码总不能只是 "hello world" 吧,数据库IO、文件IO、调用其他微服务的网络IO,都会发生阻塞)。 3、发送响应完毕。可以继续接收处理下一个请求。 缺点:无法承载高并发,你将会收到各种 502 响应。

多线程/协程模式

一个主服务进程,来一个请求就创建一个线程去专用处理,线程专一处理负责的请求。相比单进程模式,可以承载较高的请求并发量,但创建和切换线程的开销也是很大的,还有死锁的问题(现在又有了协程,用户态线程,更加轻量级,还可以

你可能感兴趣的:(php,webman)