服务器框架workerman和swoole性能简单测试

Workerman

Workerman是一款纯PHP开发开源高性能PHP socket 服务器框架。被广泛的用于手机app、手游服务端、网络游戏服务器、聊天室服务器、硬件通讯服务器、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。基于workerman开发者可以更专注于业务逻辑开发,不必再为PHP Socket底层开发而烦恼。

 

Swoole

PHP语言的异步、并行、高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。


Swoole采用C语言编写,相比使用原生PHP的Wokerman,性能更高;然而,Wokerman文档比较齐全,学习起来更方便,而且因为使用原生PHP实现,出现问题也更好排查。在使用时,需要根据实际情况,进行选择。下面是二者http server性能的简单对比:

 

环境:阿里云ECS

OS:CentOS 7 x64

CPU:Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz(1 core 1GHz)

Memory:1G

ab -c1000 -n100000 -k http://127.0.0.1:8801/


lnmp(php-fpm5.4 nginx 1.8.0):

测试结果:

php-performance
php-performance

 


 

wokerman http server:

测试结果:

workerman-performance
workerman-performance(v3.0)

 


swoole http server:

 

测试结果:

swoole-performance
swoole-performance(v1.8.0)

结果对比:

keep-alive requests concurrency time taken failed requests write errors requests per second time per request transfer per rate
workerman v3.0 100000 1000 13.424s 0 0 7450.06 134.227ms 996.74Kbytes/s
swoole v1.8.0 100000 1000 6.435s 0 0 15539.57 64.352ms 2503.95Kbytes/s