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

资源魔 48 0
今朝我装置的 Homestead 虚构机版本是 2.1.8:

04f5e4cf07c786c46f917d4f9ae59db.png

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

812502c82d975ab1678cfd51f11b314.png

咱们应用 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 版本信息能否正确:

756b5cb7d22352cdbd3701f38333ee4.png

此时正在阅读器中拜访 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开发教程 php7开发资料 php7开发自学 PHP7.0

抱歉,评论功能暂时关闭!