温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP5.6与7.3,Tomcat7与8.5在速度有什么差别

发布时间:2020-04-22 09:59:13 来源:亿速云 阅读:196 作者:小新 栏目:编程语言

PHP5.6与7.3,Tomcat7与8.5在速度有什么差别?相信有很多人都不太了解,今天小编为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。

前言

我个人还在使用PHP5.6,7.3的话纯粹是拿来做测试的,因为PHP7已经支持强类型了,不再支持根据字符串调用函数的方法了,所以我的个人项目的PHP版本停留在了5.6。

最近的话想折腾一下,试试PHP5.6、7.3和Tomcat7、8、9的各方面速度怎么样,以前看过一些文章说PHP操作数据库的速度更快,而Java处理业务逻辑的速度更快,所以我就想业务逻辑交给Java去处理,而数据库操作就交给PHP去处理。

但是否这样速度就更快呢,对比一下,数据说话!

顺便说一下,服务器管理我用的是宝塔面板,服务软件的安装全部都是在宝塔面板中进行的。

PHP5.6与7.3,Tomcat7与8.5在速度有什么差别

测试前言

在测试的过程中发现Tomcat7和8.5的结果相仿,估计9也是这个结果,所以Tomcat9我就不测试了。Tomcat部分只在业务逻辑处理测试7和8.5,其余只测试8.5

服务器配置

● 系统:CentOS Linux 7.6.1810 (Core)

● 宝塔版本:6.9.8

● 厂商:百度智能云

● 类型:密集计算型ic3

● CPU:1核

● 内存:1GB

速度对比

业务逻辑处理速度

从0加到10000000

PHP5.6

<?php
$time_start = microtime(true);
 
$count = 0;
for ($i = 0; $i < 10000000; ++ $i) {
    $count += $i;
}
 
$time_end = microtime(true);
 
echo ($time_end - $time_start);  // 结果:0.34648394584656

结果:0.34648394584656

PHP7.3

<?php
$time_start = microtime(true);
 
$count = 0;
for ($i = 0; $i < 10000000; ++ $i) {
    $count += $i;
}
 
$time_end = microtime(true);
 
echo ($time_end - $time_start);  // 结果:0.12653613090515

结果:0.12653613090515

结论:PHP7.3在业务逻辑处理方面比5.6快了三倍

Tomcat7

<%
    java.util.Date d1 = new java.util.Date();
    long start_time = d1.getTime();  // 单位:毫秒
    
    long count = 0;
    for (long i = 0; i <= 10000000; ++ i) {
        count += i;
    }
    
    java.util.Date d2 = new java.util.Date();
    long end_time = d2.getTime();  // 单位:毫秒
    out.println(end_time - start_time);  // 结果:17毫秒
%>

结果:17毫秒,多刷新几次就变成了4~5毫秒,主要以4毫秒为主

Tomcat8.5

结果:99毫秒,多刷新几次也是4毫秒

业务逻辑测试总结

毕竟Java是半编译半解释型的语言,速度快很正常,PHP7达到了100多毫秒的样子,就是PHP5逊了点才300多毫秒

PHP5.6与7.3,Tomcat7与8.5在速度有什么差别

数据库IO测试

使用PDO的prepare和execute进行测试

PHP5.6

INSERT插入10000行:37.575320005417秒

SELECT读取10000行:0.010236978530884秒

SELECT循环读取10000行:1.0460438728333秒

UPDATE更新10000行:0.044967889785767秒

UPDATE循环更新10000行:36.463224887848秒

DELETE删除10000行:0.034432888031006秒

DELETE循环删除10000行:37.198384046555秒

PHP7.3

INSERT插入10000行:33.949599027634秒

SELECT读取10000行:0.021260023117065秒

SELECT循环读取10000行:1.0032389163971秒

UPDATE更新10000行:0.040410995483398秒

UPDATE循环更新10000行:36.759881019592秒

DELETE删除10000行:0.046122074127197秒

DELETE循环删除10000行:35.682950973511秒

PHP总结:数据库IO几乎没有版本差异,还有执行单条语句比循环执行一条语句速度快

Tomcat8.5

编译前为第一次执行,编译后为第二次执行

INSERT插入10000行:编译前:39.738秒,编译后:37.104秒

SELECT读取10000行:编译前:0.079秒,编译后:0.028秒

SELECT循环读取10000行:编译前:2.303秒,编译后:1.775秒

UPDATE更新10000行:编译前:0.060秒,编译后:0.040秒

UPDATE循环更新10000行:编译前:43.326秒,编译后:40.847秒

DELETE删除10000行:第一次执行:0.137秒

DELETE循环删除10000行:第一次执行:40.597秒

总结:Java的业务逻辑能力强,但数据库IO速度比PHP慢,PHP则相反。

混合开发测试

业务逻辑由Java编写,PHP通过CURL调用Java,测试速度

结果:

第一次测试:0.51814317703247秒

第二次测试:0.016547918319702秒

总结:

第一次测试可能是因为Java端需要编译而产生的时间,第二次测试则不再需要编译,所以速度很快。

后面又进行了若干次测试,结果均比较理想,速度上比PHP7都要快10倍左右。

只不过混合开发的缺点就是开发效率不高,可能会产生比较多的坑,但运行上能各取其优。

我个人对此表示中立态度,不推荐也不反对,因为各种项目说不好可能就存在着相关需求用这种方法可能是最佳的选择。

以上就是PHP5.6与7.3,Tomcat7与8.5在速度有什么差别的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI