php5.3.8和php7.0.14做性能压测对比,为什么差距不大?

PHP编程者 2017-05-05 10:32:04
如标题,两个版本都部署在同一服务器上,php安装编译时启用的扩展也相同,用nginx做web服务器反向代理,用webbench压测同一php脚本(一次db查询,然后foreach循环输出查询结果),按说性能至少应提升一倍,但实际提升不多,不知道问题出在哪?

php5.3.8压测结果

# webbench -c 200 -t 10 http://test538_13.cn/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://test538_13.cn/index.php
200 clients, running 10 sec.

Speed=37104 pages/min, 17384534 bytes/sec.
Requests: 6184 susceed, 0 failed.


php7.0.14压测结果

webbench -c 200 -t 10 http://test7014_13.cn/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://test7014_13.cn/index.php
200 clients, running 10 sec.

Speed=39438 pages/min, 18472156 bytes/sec.
Requests: 6573 susceed, 0 failed.
...全文
496 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2017-05-07
  • 打赏
  • 举报
回复
应该单纯php执行,不要连数据库,因为数据那里占了比较多的时间,看出来差别就不大了。 例如 5.3.8 执行需要1ms 7.0需要执行0.5 ms 数据库需要执行100ms 5.3.8+数据库就是 101ms 7.0+数据库就是100.5ms 差别当然不大。
PHP编程者 2017-05-07
  • 打赏
  • 举报
回复
引用 10 楼 fdipzone 的回复:
应该单纯php执行,不要连数据库,因为数据那里占了比较多的时间,看出来差别就不大了。 例如 5.3.8 执行需要1ms 7.0需要执行0.5 ms 数据库需要执行100ms 5.3.8+数据库就是 101ms 7.0+数据库就是100.5ms 差别当然不大。
单纯php执行压测差别也不大,详见7楼的压测结果,也就提升PHP20%左右
xuzuning 2017-05-06
  • 打赏
  • 举报
回复
echo 310128 / 249173; //1.2446292335044 显然不到 20% 的估计是错误的 echo 18460 / 16394; //1.1260217152617 多出的 12% 的请求,又在考验 web 服务器的响应能力 你应去对比两者在复杂计算时的能力,而不是考察整站的性能 php5 < hhvm < php7
PHP编程者 2017-05-06
  • 打赏
  • 举报
回复
引用 2 楼 imarshal 的回复:
楼主问一下,php7现在是不是比hhvm快啊
据说不必hhvm差
PHP编程者 2017-05-06
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
按说性能至少应提升一倍 的理由是什么? 数据库本身的性能并不会因 php 的性能提高而提高
是的,db查询很占用时间,但我又试了直接输出123456,然后exit的场景,压测性能提升不到20%,这种场景有点不理解 php5.3.8

[******]# webbench -c 200 -t 10 http://test538_13.cn/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://test538_13.cn/index.php
200 clients, running 10 sec.

Speed=98364 pages/min, 249173 bytes/sec.
Requests: 16394 susceed, 0 failed.
php7.0.14

[********]# webbench -c 200 -t 10 http://test7014_13.cn/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://test7014_13.cn/index.php
200 clients, running 10 sec.

Speed=110760 pages/min, 310128 bytes/sec.
Requests: 18460 susceed, 0 failed.
imarshal 2017-05-06
  • 打赏
  • 举报
回复
楼主问一下,php7现在是不是比hhvm快啊
imarshal 2017-05-06
  • 打赏
  • 举报
回复
引用 8 楼 helloqhq 的回复:
引用 6 楼 imarshal 的回复:
[quote=引用 4 楼 helloqhq 的回复:] [quote=引用 2 楼 imarshal 的回复:] 楼主问一下,php7现在是不是比hhvm快啊
据说不必hhvm差
那fackbook现在用的是什么,应该不用php7,那是不是php5结合hack啊[/quote]facebook应该还在用hhvm吧,毕竟是facebook打造的hhvm,他们的很多项目应该都用hhvm了,而且php7只在部分场景性能优于hhvm,而且差距不是特别大。相信后续facebook应该会切php7吧,毕竟单独维护、部署hhvm也是有额外成本的。[/quote] facebook不是专门搞了hack啊,不太可能再用php7了
PHP编程者 2017-05-06
  • 打赏
  • 举报
回复
引用 6 楼 imarshal 的回复:
引用 4 楼 helloqhq 的回复:
[quote=引用 2 楼 imarshal 的回复:] 楼主问一下,php7现在是不是比hhvm快啊
据说不必hhvm差
那fackbook现在用的是什么,应该不用php7,那是不是php5结合hack啊[/quote]facebook应该还在用hhvm吧,毕竟是facebook打造的hhvm,他们的很多项目应该都用hhvm了,而且php7只在部分场景性能优于hhvm,而且差距不是特别大。相信后续facebook应该会切php7吧,毕竟单独维护、部署hhvm也是有额外成本的。
xuzuning 2017-05-06
  • 打赏
  • 举报
回复
按说性能至少应提升一倍 的理由是什么? 数据库本身的性能并不会因 php 的性能提高而提高
PHP编程者 2017-05-06
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
echo 310128 / 249173; //1.2446292335044 显然不到 20% 的估计是错误的 echo 18460 / 16394; //1.1260217152617 多出的 12% 的请求,又在考验 web 服务器的响应能力 你应去对比两者在复杂计算时的能力,而不是考察整站的性能 php5 < hhvm < php7
是的,之前只考虑了每秒响应的请求数,没考虑每秒数据传输量。据说PHP7在IO场景性能至少提升1倍,在复杂计算场景能提升6、7倍。我尝试将场景变复杂些,性能提升也就将近20%左右,没有传说的那么多,还是我的压测思路有问题呢? 代码:

<?php
for($i=0;$i<10000;$i++){
        $a=$i%2;
        if($a==0){
                $b='sdff';
        }else{
                $b=123455;
        }
        echo $b;
}
exit;
php5.3.8压测结果:

[*******]# webbench -c 200 -t 10 http://test538_13.cn/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://test538_13.cn/index.php
200 clients, running 10 sec.

Speed=23832 pages/min, 19913780 bytes/sec.
Requests: 3972 susceed, 0 failed.
php7.0.14压测结果:

[*******]# webbench -c 200 -t 10 http://test7014_13.cn/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://test7014_13.cn/index.php
200 clients, running 10 sec.

Speed=28056 pages/min, 23449050 bytes/sec.
Requests: 4676 susceed, 0 failed.
每秒响应请求数:28056/23832 = 1.177240684793555 每秒数据吞吐量:23449050/19913780 = 1.177528826772215
imarshal 2017-05-06
  • 打赏
  • 举报
回复
引用 4 楼 helloqhq 的回复:
引用 2 楼 imarshal 的回复:
楼主问一下,php7现在是不是比hhvm快啊
据说不必hhvm差
那fackbook现在用的是什么,应该不用php7,那是不是php5结合hack啊
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧