欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

PHP的高性能异步Server框架swoole1.6发布

程序员文章站 2022-04-17 20:13:42
...

关于Swoole

Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分使用多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。

 

Swoolev1.6的主要改进

  1. 重写UDPServer代码,实现支持多端口的高性能UDP Server
  2. 增加swoole_connection_list/swoole_connection_info两个新接口,用于在worker进程内高效地遍历所有TCP连接,获取TCP连接的相关信息
  3. Worker进程可选IPC方式,通过configure --enable-msgqueue启用消息队列作为IPC方式
  4. swoole_server_send/swoole_server_close不再需要传入from_id参数
  5. 提供对tcp_keepalive的支持
  6. 增加日志模块,记录运行时的警告和错误信息
  7. 去掉耗时的clock_gettime调用

GitHub: https://github.com/matyhtf/swoole
文档地址: http://www4swoole.sinaapp.com/wiki.php

 

Swoole的性能压测报告

swoole性能接近nginx/golang。与node.js的对比中由于node.js本身是单线程的,无法利用多核.Node.js程序处理能力仅能达到swoole的1/3水平。


链接:http://www4swoole.sinaapp.com/wiki/main/63

 

基于Swoole扩展开发的开源项目

1、zphp一个极轻的的,专用于游戏(社交,网页,移动)的服务器端开发框架.提供高性能实时通信方案。zphp使用swoole作为底层网络通信的框架。

https://github.com/shenzhe/zphp

2、swoole_framework是基于swoole扩展,开发的PHP WebServer和框架,可以是PHP对象持久化,避免每次请求带来的对象创建/销毁消耗,性能非常好。
https://github.com/matyhtf/swoole_framework