zoukankan      html  css  js  c++  java
  • 关于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 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%,这是一个很显著的性能提升,当然环境不同数据会有所出入,而且还有更大的提升空间。



  • 相关阅读:
    prometheus 基于文件的目标发现
    prometheus rules
    consul kv使用介绍
    prometheus 标签使用
    prometheus 配置容器 cadvisor监控节点
    prometheus 配置介绍
    Ubuntu 13.10 录音有特别大噪音解决办法
    Ubuntu 13.10 解决虚拟机摄像头无法使用问题
    Ubuntu 13.10 安装软件失败后出现的问题——已安装 post-installation 脚本 返回了错误号 1
    Ubuntu 13.04 VirtualBox在工作区中的切换
  • 原文地址:https://www.cnblogs.com/a609251438/p/12767506.html
Copyright © 2011-2022 走看看