Laravel 5 的速度的确是有一些慢,这里是 OneAPM 的测试结果
Laravel 5 慢在哪里?用 OneAPM 收集了一下性能数据。一个典型访问的时间大概在600ms (本机 ab 开 100个线程的压测结果):
时间都花在框架里面了。作为对比,用 ab 压测了 wordpress,和 自己手写的 php 程序,性能都好得多。
高认可度评论:
@raywill 项目的可维护性,是相对更加重要的。用框架损耗一点性能,来换取开发效率、可维护性是值得。至于优化性能,手段很多,一般找到性能瓶颈对其优化即可,而性能瓶颈一般不会是在框架上。
比如:用 Laravel 比用XX框架,框架多消耗了 50ms。但是你发现流量上来后,瓶颈是在 IO 上(比如数据库,服务器硬盘,网络 IO)。假如可能是 mysql 数据库查询就慢了 1s。这时候要引入缓存,就可以解决该阶段的问题。在实施方案时,发现用XX框架加缓存,代码写得乱七八糟,漏洞百出。而用 Laravel,花了很短的时间和精力就上了缓存功能,并且代码优雅,结构清晰,易于维护。
那么,框架的优势就体现了。
其实发这个帖子的目的不是要搞流派之争。
而是希望抛砖引入,让大家了解到Laravel到底把时间消耗在哪些地方,用什么工具来看消耗在哪里。
心中有数,总不是坏事。
ps, cache/router/optimize 优化都用上了,debug 也关了, php 也用上了 opcache,版本是5.6.
PHPHub 基本上都是 50 ~ 300 毫秒,平均 140 左右,网页查看效果,啥都没优化,服务器上海放了好几个程序。
从开发效率和成本来看,前期重效率,机器也不要很多,所以成本也不高,用 Laravel 还是非常好。中期如果流量上来了,就多买几台 ECS 部署,后面接一个 RDS数据库。
现在PHPHub 的部署方式是怎样的? @Summer
@raywill UCloud 赞助的机器,PV 一天一万多,上面好几个项目,一直没感到压力,准备这个星期天升级到 PHP7
@raywill 项目的可维护性,是相对更加重要的。用框架损耗一点性能,来换取开发效率、可维护性是值得。至于优化性能,手段很多,一般找到性能瓶颈对其优化即可,而性能瓶颈一般不会是在框架上。
比如:用 Laravel 比用XX框架,框架多消耗了 50ms。但是你发现流量上来后,瓶颈是在 IO 上(比如数据库,服务器硬盘,网络 IO)。假如可能是 mysql 数据库查询就慢了 1s。这时候要引入缓存,就可以解决该阶段的问题。在实施方案时,发现用XX框架加缓存,代码写得乱七八糟,漏洞百出。而用 Laravel,花了很短的时间和精力就上了缓存功能,并且代码优雅,结构清晰,易于维护。
那么,框架的优势就体现了。
对互联网项目来说不变的就是变化,优秀的框架能快速实现需求而且耦合低,关键还是看人了,再优秀的框架也架不住有人把逻辑全写控制器里
其实发这个帖子的目的不是要搞流派之争。
而是希望抛砖引入,让大家了解到Laravel到底把时间消耗在哪些地方,用什么工具来看消耗在哪里。
心中有数,总不是坏事。
@Summer phphub的硬盘是ssd还是普通的?我感觉现在硬盘的吞吐量成了我们程序的瓶颈
@tablecell http://taylorotwell.com/how-lumen-is-bench... 这里有Taylor otwell自己的压测数据,但是我用相同的参数压出来的数据差好多
OneAPM 分析出来的效果很不错,感觉楼主这个环境很容易就可以减少 300ms 这样的响应时间