0

0

PHP5.6与7.3,Tomcat7与8.5的速度对比

藏色散人

藏色散人

发布时间:2020-04-21 13:32:02

|

3404人浏览过

|

来源于csdn

转载

前言

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

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

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

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

立即学习PHP免费学习笔记(深入)”;

测试前言

在测试的过程中发现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

结果:0.34648394584656

PHP7.3

结果: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多毫秒

数据库IO测试

使用PDO的prepare和execute进行测试

PHP5.6

● INSERT插入10000行:37.575320005417秒

● SELECT读取10000行:0.010236978530884秒

● SELECT循环读取10000行:1.0460438728333秒

● UPDATE更新10000行:0.044967889785767秒

Mureka
Mureka

Mureka是昆仑万维最新推出的一款AI音乐创作工具,输入歌词即可生成完整专属歌曲。

下载

● 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倍左右。

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

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

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

832

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

738

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

734

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号