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

广告:宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取~~~

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

目前我安装的 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 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsCompleted 10000 requestsFinished 10000 requestsServer Software: nginx/1.8.0Server Hostname: blog.appServer Port: 80Document Path: /Document Length: 324 bytesConcurrency Level: 100Time taken for tests: 69.354 secondsComplete requests: 10000Failed requests: 0Total transferred: 19851388 bytesHTML transferred: 10230000 bytesRequests 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] receivedConnection Times (ms)                  min  mean[+/-sd]  median  maxConnect:       0       0     0.2                 0      3Processing: 17    684   319.1           588   2720Waiting:      17     684   319.1           588   2720Total:          20     684   319.1           588   2720Percentage 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 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsCompleted 10000 requestsFinished 10000 requestsServer Software: nginx/1.8.0Server Hostname: blog.appServer Port: 80Document Path: /Document Length: 324 bytesConcurrency Level: 100Time taken for tests: 45.032 secondsComplete requests: 10000Failed requests: 0Total transferred: 20101202 bytesHTML transferred: 10230000 bytesRequests 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] receivedConnection Times (ms)                  min  mean[+/-sd]  median   maxConnect:       0       0     0.2                 0       4Processing: 11    443   252.8           379   1978Waiting:      11     443   252.8           379   1978Total:          15     443   252.8           379   1978Percentage 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博客应用性能对比分析详解的详细内容,更多请关注9543建站博客其它相关文章!

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:vue数据劫持怎么解决
下一篇:以laravel-admin为例详解Laravel单用户登录

发表评论

关闭广告
关闭广告