关于swoole
swoole是一个php的c扩展,可用来开发php的高性能高并发tcp/udp server。swoole的网络io部分基于epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分使用多进程同步阻塞方式来运行。这样既保证了server能够应对高并发和大量tcp连接。又保证业务代码仍然可以简单的编写。
swoolev1.6的主要改进
- 重写udpserver代码,实现支持多端口的高性能udp server
- 增加swoole_connection_list/swoole_connection_info两个新接口,用于在worker进程内高效地遍历所有tcp连接,获取tcp连接的相关信息
- worker进程可选ipc方式,通过configure --enable-msgqueue启用消息队列作为ipc方式
- swoole_server_send/swoole_server_close不再需要传入from_id参数
- 提供对tcp_keepalive的支持
- 增加日志模块,记录运行时的警告和错误信息
- 去掉耗时的clock_gettime调用
github:
文档地址:
swoole的性能压测报告
swoole性能接近nginx/golang。与node.js的对比中由于node.js本身是单线程的,无法利用多核.node.js程序处理能力仅能达到swoole的1/3水平。
链接:
基于swoole扩展开发的开源项目
1、zphp一个极轻的的,专用于游戏(社交,网页,移动)的服务器端开发框架.提供高性能实时通信方案。zphp使用swoole作为底层网络通信的框架。
2、swoole_framework是基于swoole扩展,开发的php webserver和框架,可以是php对象持久化,避免每次请求带来的对象创建/销毁消耗,性能非常好。
2 楼 2013-11-29 09:59
1 楼 2013-10-27 10:39