[PHP语言] 关于PHP7.0与PHP5.6下Laravel博客应用性能对比分析详解

[复制链接]
查看1586 | 回复16 | 2020-3-12 15:41:44 | 显示全部楼层 |阅读模式
目前我安装的 Homestead 虚拟机版本是 2.1.8:

该版本 Homestead 上预装的 PHP 版本是 5.6.15:

我们使用 ab 命令(Apache 提供的性能测试工具)在该版本中测试 Laravel 应用(以目前正在讲的使用Laravel开发的博客应用为例)性能,我们模拟 10000 次请求,100 个并发进行压力测试:

ab -n 10000 -c 100 http://blog.app/

运行结果如下:

This is ApacheBench, Version 2.3 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.app (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.8.0
Server Hostname: blog.app
Server Port: 80

Document Path: /
Document Length: 324 bytes

Concurrency Level: 100
Time taken for tests: 69.354 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 19851388 bytes
HTML transferred: 10230000 bytes
Requests per second: 144.19 [#/sec] (mean)
Time per request: 693.545 [ms] (mean)
Time per request: 6.935 [ms] (mean, across all concurrent requests)
Transfer rate: 279.52 [Kbytes/sec] received

Connection Times (ms)
                  min  mean[+/-sd]  median  max
Connect:       0       0     0.2                 0      3
Processing: 17    684   319.1           588   2720
Waiting:      17     684   319.1           588   2720
Total:          20     684   319.1           588   2720

Percentage of the requests served within a certain time (ms)
 50%      588
 66%      695
 75%      842
 80%      933
 90%    1155
 95%    1321
 98%    1545
 99%    1813
 100%  2720 (longest request)

这里我们要关注的是红色加粗的文字,即每秒处理请求数,这是衡量系统性能的关键指标。根据系统及硬件配置的差异,数据会有些出入。

现在我们按照“Laravel Homestead 支持 PHP 7 ”这一节所述将 Homestead 中的 PHP 升级到 7.0 版本。

使用 vagrant ssh 登录到新添加的 homestead-7 虚拟机,查看 PHP 版本信息是否正确:

此时在浏览器中访问 http://blog.app 会报错,因为新安装的 Homestead 数据库数据为空,需要登录到虚拟机运行如下命令运行迁移并填充数据:

php artisan migrate 
php artisan db:seed

再次访问就OK了,好了我们继续使用同样的 ab 命令进行压力测试:

ab -n 10000 -c 100 http://blog.app/

运行结果如下:

This is ApacheBench, Version 2.3 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.app (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.8.0
Server Hostname: blog.app
Server Port: 80

Document Path: /
Document Length: 324 bytes

Concurrency Level: 100
Time taken for tests: 45.032 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 20101202 bytes
HTML transferred: 10230000 bytes
Requests per second: 222.06 [#/sec] (mean)
Time per request: 450.319 [ms] (mean)
Time per request: 4.503 [ms] (mean, across all concurrent requests)
Transfer rate: 435.91 [Kbytes/sec] received

Connection Times (ms)
                  min  mean[+/-sd]  median   max
Connect:       0       0     0.2                 0       4
Processing: 11    443   252.8           379   1978
Waiting:      11     443   252.8           379   1978
Total:          15     443   252.8           379   1978

Percentage of the requests served within a certain time (ms)
 50%      379
 66%      517
 75%      590
 80%      631
 90%      795
 95%      938
 98%    1060
 99%    1229
 100%  1978 (longest request)

经过对比,同一个 Laravel 应用在 PHP 7.0 下的性能比 PHP 5.6 提高了54%,这是一个很显著的性能提升,当然环境不同数据会有所出入,而且还有更大的提升空间。

原文地址:https://xueyuanjun.com/post/2398

以上就是关于PHP7.0与PHP5.6下Laravel博客应用性能对比分析详解的详细内容,更多请关注爱上源码网其它相关文章!

  • 微信
  • 分享
  • 相关标签:PHP7.0
  • 本文转载于:xueyuanjun,如有侵犯,请联系916990011@qq.com删除
    • 上一篇:PHP5.6与7.3,Tomcat7与8.5的速度对比
    • 下一篇:php7 +linux 规律性502错误怎么办?

    相关文章

    相关视频

    • php7 安装不了swoole怎么办
    • 安装php7并与php5共存
    • PHP7在开发机上的安装使用之旅
    • 关于升级PHP7操作MongoDB
    • 关于PHP7.0与PHP5.6下Laravel博客...
    • PHP7新增类和接口
    • PHP7新增常量
    • PHP7INI配置文件修改
    • PHP7windows支持
    本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn! 本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
    回复

    使用道具 举报

    大黄瓜xxxl | 2020-12-6 10:08:17 | 显示全部楼层
    资源太多了,准备办个会员
    回复

    使用道具 举报

    令狐佳人 | 2020-12-8 15:42:38 | 显示全部楼层
    这个下载站资源真齐全
    回复

    使用道具 举报

    形腿望舞 | 2021-1-5 13:05:37 | 显示全部楼层
    很不错的资源站
    回复

    使用道具 举报

    普通人物怨 | 2021-6-25 19:28:43 | 显示全部楼层
    5kym.cn这个站资源太全了
    回复

    使用道具 举报

    FREEDOM326 | 2021-7-2 08:08:52 | 显示全部楼层
    我是来白嫖悟空源码的积分的!!!!!
    回复

    使用道具 举报

    123457389 | 2021-7-19 01:28:31 | 显示全部楼层
    加油!悟空源码,继续努力!支持你!
    回复

    使用道具 举报

    啊歪歪哈坠 | 2022-4-24 03:57:57 | 显示全部楼层
    很不错的资源站
    回复

    使用道具 举报

    落日五湖W | 2022-6-2 01:27:55 | 显示全部楼层
    找了好多地方,终于找到了
    回复

    使用道具 举报

    温柔老虎 | 2022-6-2 23:01:17 | 显示全部楼层
    我是来白嫖悟空源码的资源的!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则