如标题,两个版本都部署在同一服务器上,php安装编译时启用的扩展也相同,用nginx做web服务器反向代理,用webbench压测同一php脚本(一次db查询,然后foreach循环输出查询结果),按说性能至少应提升一倍,但实际提升不多,不知道问题出在哪?php5.3.8压测结果# webbench -c 200 -t 10 http://test538_13.cn/index.php
Webbench - Simple Web Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: 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 Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: GET http://test7014_13.cn/index.php
200 clients, running 10 sec.Speed=39438 pages/min, 18472156 bytes/sec.
Requests: 6573 susceed, 0 failed.
Webbench - Simple Web Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: 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 Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: GET http://test7014_13.cn/index.php
200 clients, running 10 sec.Speed=39438 pages/min, 18472156 bytes/sec.
Requests: 6573 susceed, 0 failed.
解决方案 »
- 文件批量读取和导入
- 用adodb类作数据库连接,支持多类型数据库(oracle和mysql)帮忙讨论 来者有分
- 求一个sql语句
- PHP如何按照指定信息查找另一数据库中同一行的信息。
- 如何写成utf8格式的文件用fopen????????????高分, 在线等,
- 图片问题
- 我的phpmyadmin一运行就提示...
- 哪位大哥能在线答复我在连接MYSQL出现以下问题是怎么回事?
- 在win xp下怎么装php?
- 请问代码和页面怎么分离,模板怎么制作?在线等待!!谢谢
- Fatal error: Call to undefined function doTemplate() in D:\wamp\vhosts\p_yaxia_c
- php 自动转义问题
数据库本身的性能并不会因 php 的性能提高而提高
Webbench - Simple Web Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: 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 Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: GET http://test7014_13.cn/index.php
200 clients, running 10 sec.Speed=110760 pages/min, 310128 bytes/sec.
Requests: 18460 susceed, 0 failed.
显然不到 20% 的估计是错误的echo 18460 / 16394; //1.1260217152617
多出的 12% 的请求,又在考验 web 服务器的响应能力你应去对比两者在复杂计算时的能力,而不是考察整站的性能
php5 < hhvm < php7
那fackbook现在用的是什么,应该不用php7,那是不是php5结合hack啊
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 Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: 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 Bench 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benching: 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
那fackbook现在用的是什么,应该不用php7,那是不是php5结合hack啊facebook应该还在用hhvm吧,毕竟是facebook打造的hhvm,他们的很多项目应该都用hhvm了,而且php7只在部分场景性能优于hhvm,而且差距不是特别大。相信后续facebook应该会切php7吧,毕竟单独维护、部署hhvm也是有额外成本的。
那fackbook现在用的是什么,应该不用php7,那是不是php5结合hack啊facebook应该还在用hhvm吧,毕竟是facebook打造的hhvm,他们的很多项目应该都用hhvm了,而且php7只在部分场景性能优于hhvm,而且差距不是特别大。相信后续facebook应该会切php7吧,毕竟单独维护、部署hhvm也是有额外成本的。facebook不是专门搞了hack啊,不太可能再用php7了
5.3.8 执行需要1ms
7.0需要执行0.5 ms
数据库需要执行100ms5.3.8+数据库就是 101ms
7.0+数据库就是100.5ms差别当然不大。
单纯php执行压测差别也不大,详见7楼的压测结果,也就提升PHP20%左右