`
addr
  • 浏览: 9251 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Yii/Yaf/Swoole3个框架的压测性能对比

php 
阅读更多
本次压测使用的是一台4核I5 CPU,8G内存的笔记本。使用的版本是:

swoole_framework github最新版
Yaf 2.2.9
Yii-1.1.14
php-fpm和swoole应用服务器均启用了8个进程,因为仅比较hello world,不存在阻塞,8进程足以压满CPU。php5-fpm中已经启用了apc对所有PHP进行缓存。

压测使用ab工具,参数为:

ab -c 100 -n 10000
Yaf
Server Software: nginx/1.2.6
Server Hostname: localhost
Server Port: 80
Document Path: /yafapp/
Document Length: 11 bytes
Concurrency Level: 100
Time taken for tests: 1.336 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 1770000 bytes
HTML transferred: 110000 bytes
Requests per second: 7486.03 [#/sec] (mean)
Time per request: 13.358 [ms] (mean)
Time per request: 0.134 [ms] (mean, across all concurrent requests)
Transfer rate: 1293.97 [Kbytes/sec] received
Yii
Server Software: nginx/1.2.6
Server Hostname: localhost
Server Port: 80
Document Path: /yiiapp/
Document Length: 11 bytes
Concurrency Level: 100
Time taken for tests: 8.016 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 1770000 bytes
HTML transferred: 110000 bytes
Requests per second: 1247.55 [#/sec] (mean)
SwooleFramework
Server Software: Swoole
Server Hostname: 127.0.0.1
Server Port: 8888
Document Path: /hello/index
Document Length: 11 bytes
Concurrency Level: 100
Time taken for tests: 1.470 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2750000 bytes
HTML transferred: 110000 bytes
Requests per second: 6801.78 [#/sec] (mean)
Time per request: 14.702 [ms] (mean)
Time per request: 0.147 [ms] (mean, across all concurrent requests)
Transfer rate: 1826.65 [Kbytes/sec] receive
结果评价
有些人说框架的消耗和业务逻辑相比不算什么,这句话在你的QPS不到10个时是完全正确的。但如果你的网站访问量很大,机器负载很高,那么框架的性能消耗就会很明显的体现出来了。

Yii压测只有1200QPS,假设网站的平均QPS为200,因为框架的消耗是纯CPU消耗,也就是光Yii就会带来(200/1200)*100%=16.7%的CPU消耗。而Yaf/Swoole的QPS可达7000,200qps仅占用

(200/7000)*100%=2.8%的CPU消耗。当然200QPS对于一个巨型网站来说只是一个小数目,框架的CPU消耗会随着QPS增加而直线上升。

Swoole框架的早期版本可达9000QPS,swoole框架本身还是很复杂的,因为全部是PHP的代码实现,仅底层使用了swoole扩展,如果做了足够的精简和优化,还是有很大的上升空间。

压测证明Yaf的性能非常好。如果你希望使用PHP应用服务器可以选择Swoole,如果是LAMP/LNMP架构可以使用Yaf框架。
转载自:http://rango.swoole.com/archives/254
分享到:
评论

相关推荐

    yii2swoole让yii2运行在swoole上

    yii2 swoole:让yii2运行在swoole上 , 运行在swoole上的yii2是运行在php-fpm上yii2的5倍以上

    一个很简单实用 的 swoole 框架 麻雀虽小, 五脏俱全.rar

    另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。 swoole扩展本身提供了web服务器功能,可以替代php-fpm。 而如果仅仅用swoole框架,可以像其它PHP框架一样,运行在nignx、apache等web服务器中。 swoole...

    yii2-websocket:基于swoole的websocket

    Yii2 WebSocket 即时通讯Demo 问题反馈 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流 QQ群: 前提 服务器安装swoole git clone https://github.com/swoole/swoole-src.git cd swoole-src ...

    yii framework(Yii)框架window版

    Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,...

    yii框架yii框架yii框架yii框架yii框架

    很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架

    yii2-swoole-extension:在swoole上运行yii2应用

    Yii2 Swoole扩展 在Swoole环境上运行Yii2应用程序。 此扩展基于组件驱动的开发。 对您的业务或Yii2框架没有任何副作用。 开始使用 初始化您的Yii应用程序 composer create-project --prefer-dist yiisoft/yii2-app...

    yii2 console 集成swoole 执行异步任务,例如注册邮件,发送短信

    yii2 console 集成swoole 执行异步任务,例如注册邮件,发送短信 使用方法:http://blog.csdn.net/nextvary/article/details/79136058

    yii2-swoole让yii2运行在swoole上

    让yii2运行在swoole上

    大厂面试简历模板春招秋招快来吧

    Web框架:ThinkPHP/Yaf/Yii/Lavaral/LazyPHP 前端框架:Bootstrap/AngularJS/EmberJS/HTML5/Cocos2dJS/ionic 前端工具:Bower/Gulp/SaSS/LeSS/PhoneGap 数据库相关:MySQL/PgSQL/PDO/SQLite 版本管理、文档和自动化...

    yii2-swoole:完整的解决方案,使yii2-framework与协程在swoole上运行

    yii2-swoole 为赋予 Yii2 框架协程异步能力而生。 后期开发会依赖 去实现功能,相信 Swoft 会是下一代优秀的框架。 此插件基于 swoole (v2.0) 底层实现的协程,改造 Yii2 的核心代码,使开发者无感知,以及在不改动...

    yii_swoole_task

    yii_swoole_task在YII框架中结合了swoole 的task 做了异步处理。本例中 主要用到1、protected/commands/ServerCommand.php 用来做server。2、protected/event/下的文件 这里是在异步中的具体实现。客户端调用参照 ...

    Yii2-swoole:这是一个集成swoole+yii2 advanced的项目

    这是一个在centos7上,集成swoole+yii2 advanced的项目。同时运行了swoole的http服务和socket服务 项目环境:php7+swoole2.0+yii2 advanced,在使用此项目前请确保php已经加载了swoole扩展。 该项目和一般的yii2 ...

    php开发yii框架软件包

    yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架yii框架

    MixPHP、Yii和CodeIgniter的并发压力测试小结

    MixPHP 是一个基于 Swoole 的高性能框架,CodeIgniter 是一个元老级的轻量级框架,Yii 是一个非常流行的框架,以下是三个框架的对比。 由于Yii/CodeIgniter 是基于 Apache/PHP-FPM 的传统框架,如果使用 MixPHP 的...

    yii2-swoole:这是用于 swoole 支持的 yii2 扩展

    yii2-swoole 这是用于 swoole 支持的 yii2 扩展 还是行不通

    php最新框架YII框架

    据说是超越所有的PHP框架php最新框架YII框架php最新框架YII框架

    yii框架教程

    yii框架教程yii框架教程yii框架教程yii框架教程yii框架教程yii框架教程

    Yii框架学习手册

    Yii Yii框架 Yii框架快速入门,自己整理的很全的,很容易看懂

    《Yii框架深度剖析》配套代码

    《Yii框架深度剖析》配套代码 本书不是简单地介绍如何使用 Yii 框架,而是站在框架设计的高度,从源代码级别深 度剖析。本书首先介绍 PHP 框架技术的概念及其应用领域,然后开始仿照 Yii 框架源代码 自定义框架,...

    Yii开发框架 v2.0.12.zip

    Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具yiic可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。 Yii开发框架 v...

Global site tag (gtag.js) - Google Analytics