主流php框架性能比较

发表于:2017-8-23 14:06

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:jamespengge    来源:51Testing软件测试网采编

  这次我们进行比较测试的有以下4种php框架
  ●thinkphp
  ●ci
  ●laveral
  ●ppf
  前三个是市面上主流的php框架,第四种就是我写的轻量级php框架,我们一起来测试下4种框架在siege软件中的测试结果吧。
  siege如何进行压力测试
  简单介绍下Siege命令常用参数
      -c 100 指定并发数100
      -r 5 指定测试的次数5
      -f urls.txt 制定url的文件
      -i internet系统,随机发送url
      -t 30s 持续测试30秒
      # -r和-t一般不同时使用
  这次我们使用如下的参数搭配:./siege -c 100 -t 30s
  测试环境
  主机:MacBook Pro
  处理器:2.7 GHz Intel Core i5
  内存:8 GB 1867 MHz DDR3
  环境:nginx/1.10.1
  其他:以上4个都设置了nginx vhost虚拟目录。
  4大框架版本以及说明
  thinkphp 版本: thinkphp_5.0.5_full
  ci 版本:3.1.5
  laveral 版本:5.4
  ppf 版本 1.3.0
  测试代码
  $time1 = microtime(true);
  $a = array();
  for($i=0;$i<600000;$i++){
      $a[$i] = $i;
  }
  $time2 = microtime(true);
  echo $time2-$time1;die;
  测试结果如下:
  ./siege  -c 100 -t 30s  http://ci.com
  Transactions:                928 hits       处理请求总数量
  Availability:             100.00 %          可用性
  Elapsed time:              29.41 secs       运行时间
  Data transferred:           0.01 MB         数据传输量
  Response time:              2.51 secs       响应时间
  Transaction rate:          31.55 trans/sec  每秒处理效率
  Throughput:             0.00 MB/sec         每秒处理数据
  Concurrency:               79.23            并发
  Successful transactions:         928        成功的请求
  Failed transactions:               0        失败的请求
  Longest transaction:            3.46        最长的单个请求
  Shortest transaction:           0.08        最短的单个请求
  ./siege  -c 100 -t 30s  http://thinkphp.com/
  Transactions:               1039 hits
  Availability:             100.00 %
  Elapsed time:              29.14 secs
  Data transferred:           0.02 MB
  Response time:              2.17 secs
  Transaction rate:          35.66 trans/sec
  Throughput:             0.00 MB/sec
  Concurrency:               77.32
  Successful transactions:        1039
  Failed transactions:               0
  Longest transaction:            3.33
  Shortest transaction:           0.16
  ./siege -c 100 -t 30s  http://ppf.com/
  Transactions:               1336 hits
  Availability:             100.00 %
  Elapsed time:              29.59 secs
  Data transferred:           0.02 MB
  Response time:              1.61 secs
  Transaction rate:          45.15 trans/sec
  Throughput:             0.00 MB/sec
  Concurrency:               72.81
  Successful transactions:        1336
  Failed transactions:               0
  Longest transaction:            2.52
  Shortest transaction:           0.08
  ./siege -c 100 -t 30s  http://laravel.com/
  Transactions:                534 hits
  Availability:             100.00 %
  Elapsed time:              29.81 secs
  Data transferred:           0.01 MB
  Response time:              4.70 secs
  Transaction rate:          17.91 trans/sec
  Throughput:             0.00 MB/sec
  Concurrency:               84.13
  Successful transactions:         534
  Failed transactions:               0
  Longest transaction:            6.69
  Shortest transaction:           0.18
  得出简单的结论
  1.ppf在每秒处理的效率以及相应时间来看是4个中最高的(毕竟代码少。。),但是处理并发并不是很出色,具体框架使用可以查看ppf手册
  2.thinkphp表现的第二好,十分出众的稳定性,处理效率跟并发数都非常优秀
  3.laravel 这个外国框架处理效率不高,但是并发性能非常优秀(这里可以得出一般结论就是:处理效率跟并发性能呈负相关增长)
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号