设为首页 收藏本站
查看: 664|回复: 0

[经验分享] Apache Bench不完全php框架并发测试记录

[复制链接]

尚未签到

发表于 2017-1-11 10:20:01 | 显示全部楼层 |阅读模式
我始终信任PHP, 信心来自于某朋友千万级用户的WEB系统的成功应用(主语言是PHP,主平台为某开源Framework)

陆陆续续使用过一些php框架:Zend, CakePhp, Yii, Symfony. 着实大大提高了开发效率(不是运行效率)。但是web应用的性能考虑尤不可轻视。那还是在08年完成一个CakePHP项目之后,才知道很多人诟病于CakePHP效率低下,当初我也参考了Yii性能报告 原文地址:
http://www.yiiframework.com/performance
http://koda.iteye.com/upload/attachment/132869/f2a3d18d-5004-311a-865e-c28e54c2abca.png
CakePHP如此惨不忍睹:),Yii遥遥领先? 如此这般,Yii都可以支持百万用户级了?

是否有失偏颇,我决定还是自己亲手测试一下Cakephp, Yii两者之间的性能差异。测试环境:
CentOS5.2 + Apache(Module PHP) + PHP5.2.10(未开启APC) + Mysql 5.0.45
为消除网络影响,所有测试都是在本机运行,测试结果如下:

http://koda.iteye.com/upload/attachment/132878/795499d8-4798-34b6-991d-cb1701bca4cf.png

Hello World测试,和Yii网站的测试结果相似,甚至,CakePHP的rps更低(23.21), CakePHP作者辩称Framework伸缩性更重要,测试时的公正性要求太多的参数,比如要关闭debug模式等等,我也一一调节这些参数,但对于Hello World程序几乎没有影响。

不过大家知道Cakephp框架的特性是:一旦装载页面,数据库就要求连接, 而Yii绝不,它采用Lazy Mode,按需加载。所以,比Hello World是不是有失公允?(至于哪种模式更好是另外的话题,显而易见)因此,上面才有了select data from db的性能比较: 建立用户表,仅有两条数据。一条select语句。结果显示(仍然上图): Yii/Cake = 23.21/11.51rps

小小的谎言被揭穿了:) 尽管是Cakephp的两倍,Yii每秒完成并发仍然只有20几个,远远不能自然支持日百万级系统。所以半斤八两,不是吗?(注意哦,APC没开)

我说么,当初做Yii的应用时也没觉得快多少嘛. 我记得哪次采访某公司技术总监来着,请问:用PHP的伸缩性是否存在问题?
他回答:语言不伸缩,架构伸缩

实际上,如果使用php开发号称或者想支持百万级用户的web系统,绝不是单纯采用某种框架
、甚至单一语言就能完美构造的,他们往往是以某种web framework为主平台、仔细设计数据结构、缓存技术、混合使用直接php/html、java(如消息系统)等才得以让系统奔跑起来。

而对于纯动态网站(甚至不做缓存),Yii和CakePHP,由于易用性不相上下,这时我才更多参考上面的性能测试,我选择用Yii.


请捐我一文钱,支持我的博客,点击我的阿里妈妈

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326912-1-1.html 上篇帖子: Apache和Tomcat 实现泛域名解析的尝试 下篇帖子: test_tools LoadRunner / QTP / webbench / Apache AB / CBenchmark / http_load
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表