王志勇 发表于 2019年10月03日 17:00
如果对PHP的每个函数、每个语句进行速度测试,每天测试10个小时,可能连续3-5年都测不完。因此,所有的PHP的性能对比测试的数据都是不完全精确的,只能参考。这是因为每个函数、每个语句,在不同版本下的速度提升不同,有可能有的函数、语句并没有提升。
下列数据的结论:
1. 单从循环程序累加这方面来看,在Debian、Ubuntu系统下,PHP 7.0~7.3速度几乎完全一样,没有性能的提升;PHP 7.1~7.3速度完全一样,PHP 7.0反而略微快一点点,约5%-10%的差异。PHP 7.4有了明显的提升,PHP 7.4速度约是PHP 7.3的1.9~2.1倍。
2. Debian、Ubuntu系统下,Apache和Nginx下的PHP一样快。
3. CentOS系统下,Nginx+PHP平均比Apache+PHP快约20%-50%
4. PHP 7.4+Debian,速度约是PHP 7.4+CentOS 7的2倍。
5. PHP 7.3+Debian,速度约是PHP 7.3+CentOS 7的1.5倍。
6. PHP 7.X+CentOS 7,速度约是PHP 7.X+CentOS 6的1.5~2倍。
7. 在CentOS 7系统下,PHP 7.4和PHP 7.3的速度差异不大。而在Debian+PHP 7.4,体现出了PHP 7.3的2倍速度。
8. Debian 8+PHP 7.X和Debian 9+PHP 7.X的速度完全一样。这2个系统使用上最明显的不同是,Debian 8依然保留rc.local的功能(可用于开机自启);Debian 9去掉了rc.local。
9. Ubuntu和Debian,同一版本的PHP,在这两个系统下的速度没有任何区别。上述的评测结论中,所有的“Debian”的词语可以替换成“Ubuntu”,因为这两者的服务器性能一样,很难找出区别。
Ubuntu的优点:Ubuntu 12的OpenVZ版自带已配置好的sendmail。Ubuntu 16、18版本依然保留rc.local。
Ubuntu服务器版开机、或重启特别快,约11秒开机,可能是由于服务器版不带桌面。
10. 通过第三方软件源安装的PHP,和系统自带源安装的PHP,如果版本相同,性能没有任何区别。
PHP方面,最好用的第三方软件源,Ubuntu用PPA,Debian用sury,CentOS用remi。这三家第三方软件源,都在默默地、无私地为大家耕耘着。
正是因为有这些第三方软件源,我们可以轻松安装任意的PHP版本。
测试程序为:
<?php
$start=microtime(true);
for ($i=1;$i<=10000000;$i++){}
$end=microtime(true);
echo ($end-$start);
?>
下列数据的单位是微秒,即百万分之一秒。每个平台刷新多次,取成绩较好的3次结果。
Debian 8.0+Apache+PHP 7.4.0 (我的主力环境,省内存)
0.053919076919556 微秒
0.055496215820312 微秒
0.057925224304199 微秒
Debian 8.0+Apache+PHP 7.3.9
0.10902500152588
0.11312508583069
0.10770606994629
Debian 8.0+Apache+PHP 7.2.22
0.10908794403076
0.11758494377136
0.11525297164917
Debian 8.0+Apache+PHP 7.1.32
0.10679697990417
0.11357116699219
0.10770082473755
Debian 8.0+Apache+PHP 7.0.33
0.11288595199585
0.1017382144928
0.10212206840515
Debian 8.0+Apache+PHP 5.6.40
0.24600291252136
0.26271605491638
0.25394105911255
Debian 8.0+Nginx+PHP 7.4.0
0.05839204788208
0.058258056640625
0.055569887161255
Debian 8.0+Nginx+PHP 7.3.9
0.096651077270508
0.086481094360352
0.089262962341309
Debian 8.0+Nginx+PHP 7.2.22
0.098964929580688
0.099143981933594
0.10303401947021
Debian 8.0+Nginx+PHP 7.1.32
0.10124802589417
0.094712972640991
0.09648609161377
Debian 8.0+Nginx+PHP 7.0.33
0.10983800888062
0.10881519317627
0.1045229434967
Debian 8.0+Nginx+PHP 5.6.40
0.25392508506775
0.27300190925598
0.26028108596802
Debian 9.11+Apache+PHP 7.4.0
0.058127164840698
0.060291051864624
0.057128190994263
Debian 9.11+Nginx+PHP 7.4.0
0.05649209022522
0.052047967910767
0.063120126724243
CentOS 7.4.1708+Apache+PHP 7.4.0
0.11540389060974
0.12529706954956
0.1295108795166
CentOS 7.4.1708+Nginx+PHP 7.4.0
0.11188888549805
0.10081100463867
0.10230398178101
CentOS 7.4.1708+Apache+PHP 7.3.10
0.13830399513245
0.15926194190979
0.16574501991272
CentOS 7.4.1708+Apache+PHP 7.2.23
0.15155291557312
0.16431307792664
0.17670583724976
CentOS 7.4.1708+Apache+PHP 7.1.32
0.13999104499817
0.15872001647949
0.16652798652649
CentOS 7.4.1708+Apache+PHP 7.0.33
0.15262198448181
0.17163014411926
0.15957283973694
CentOS 7.4.1708+Apache+PHP 5.6.40
0.35205221176147
0.43340182304382
0.38812303543091
CentOS 7.4.1708+Apache+PHP 5.5.38
0.40842986106873
0.39665794372559
0.35387682914734
CentOS 7.4.1708+Apache+PHP 5.4.45
0.3356499671936
0.36821007728577
0.39978694915771
CentOS 6.5+Apache+PHP 7.3.10
0.27494788169861
0.29654908180237
0.2439329624176
CentOS 6.5+Apache+PHP 7.2.23
0.24336791038513
0.23833394050598
0.26327610015869
CentOS 6.5+Apache+PHP 7.1.32
0.23659801483154
0.25639605522156
0.27514219284058
CentOS 6.5+Apache+PHP 7.0.33
0.25079107284546
0.23825097084045
0.25114798545837
CentOS 6.5+Apache+PHP 5.6.40
0.43943095207214
0.41831111907959
0.42791104316711
CentOS 6.5+Nginx+PHP 7.3.10
0.22572708129883
0.24627017974854
0.25817704200745
CentOS 6.5+Nginx+PHP 7.2.23
0.27135300636292
0.26882815361023
0.24049091339111
CentOS 6.5+Nginx+PHP 7.1.32
0.22624206542969
0.26890277862549
0.24356007575989
CentOS 6.5+Nginx+PHP 7.0.33
0.23995208740234
0.26950597763062
0.26219797134399
CentOS 6.5+Nginx+PHP 5.6.40
0.39044785499573
0.39617800712585
0.43448114395142
CentOS 6.5+Apache+PHP 5.3.3 (自带源)
0.66925501823425
0.71402907371521
0.69028401374817
CentOS 5.8+Apache+PHP 5.1.6 (自带源) (我曾经的主力环境,超省内存)
1.0847749710083
0.85708403587341
1.1157069206238
Debian 7.0+Apache+PHP PHP 5.4.45 (自带源) (超省内存)
0.40000104904175
0.44710516929626
0.45367884635925
Ubuntu 16.04.3+Apache+PHP 7.4.0 (我的主力环境)
0.056440114974976
0.05810809135437
0.059491872787476
Ubuntu 16.04.3+Apache+PHP 7.3.9
0.08572793006897
0.10723900794983
0.09276294708252
Ubuntu 16.04.3+Apache+PHP 7.2.22
0.099550008773804
0.099750995635986
0.09430193901062
Ubuntu 16.04.3+Apache+PHP 7.1.32
0.10897207260132
0.1005711555481
0.091553211212158
Ubuntu 16.04.3+Apache+PHP 7.0.33
0.10013198852539
0.10001993179321
0.098648071289062
Ubuntu 16.04.3+Apache+PHP 5.6.40
0.24123692512512
0.23330211639404
0.2283730506897
Ubuntu 16.04.3+Nginx+PHP 7.4.0
0.052397966384888
0.056506156921387
0.057173013687134
Ubuntu 16.04.3+Nginx+PHP 7.3.9
0.10905909538269
0.10405087471008
0.096883058547974
Ubuntu 16.04.3+Nginx+PHP 7.2.22
0.10630106925964
0.098078966140747
0.10220098495483
Ubuntu 16.04.3+Nginx+PHP 5.6.40
0.27832102775574
0.2606189250946
0.2623918056488
Ubuntu 14.04+Apache+PHP 5.5.9 (自带源) (我的主力环境)
0.26224207878113
0.27070307731628
0.2564959526062
Ubuntu 12.04+Apache+PHP 5.3.10 (自带源) (我的主力环境,超省内存)
0.51135420799255
0.48402404785156
0.47420406341553
最后,发现一个很有趣的现象,Ubuntu 16.04.3,我在2016年时第一次使用VPS,那时候就已经有这个版本。一个月前,用自带源安装PHP,版本是7.0,Ubuntu 16+自带的PHP 7.0,有个bug,PHP不执行,这是所有系统里唯一一个PHP不执行的环境。
今天突然发现就在近期,大约是近期的几天里,Ubuntu 16的自带PHP安装源,已经更新为PHP 7.3.9。
不过,如果要安装PHP 7,还是使用PHP 7.4好一点。Ubuntu、Debian下的PHP 7.4.0是PHP 7.3.9速度的1.9~2.1倍。
2019-10-04 07:35更新
今天用VMWare+Ubuntu 16.03在本机测试,果然,本机版的Ubuntu 16.03的PHP自带软件源,已经更新为PHP 7.3.9,和服务器版的Ubuntu 16.03一样。
国外很多VPS商家,提供的Ubuntu的最高版本目前仍然是Ubuntu 16,只有少数商家提供Ubuntu 18。
Ubuntu 16如今也是一个不错的选择。
Ubuntu 14无法安装PPA+PHP 7,所以能安装PHP 7的最低版本是Ubuntu 16。
Ubuntu 15、17已被抛弃,无法使用。
(更新完)
2019-10-04 10:03更新
各Linux系统开机、重启时间对比:
(测试方法,输入Shell命令:reboot。此时,同时按秒表开始计时。用CMD ping服务器,当出现ping值时,表示已经开机。由于切换不同的系统,需要重装一次系统,所以这项测试需要慢慢更新,每天更新一点。)
Ubuntu 12.04 | 8秒开机 |
Ubuntu 16.04 | 11秒 |
Debian 8.5 Minimal | 15秒 |
Debian 9.1 Minimal | 10秒 |
CentOS 5.3 | 19秒 |
Debian 8.0 | 15秒 |
Debian 7.8 | 6秒 |
自由勇 2019-10-05 07:24
是的,有的人用Debian很多年。
我用的时间不长,都是用服务器版。桌面版只用过CentOS 5、6,用的是远程桌面,因为我这边实在无法访问国外被wall的网站,需要登录Gmail修改设置时,就用CentOS 5、6远程桌面+火狐,Gmail平时转发到国内的邮箱。远程桌面使用特别慢。
自由勇 2019-10-09 21:19
这个我没有试验过,理论上应该没有差别。因为这两者的安装过程其实一样,编译安装相当于手动配置,源安装相当于自动配置。
自由勇 2019-10-10 22:33
是的,使用VPS感觉太棒了!
自由勇 2019-12-13 19:18
VPS的PHP+MySQL的主流三大系统、所有版本,前段时间我已经开发完一键安装包,还差后期的一点切换版本的开发,这是一个非商业项目。
最近忙不过来了,不然就会有一个全面的VPS从0秒变熟手的指南、教程上线。
自由勇 2019-12-13 19:22
VPS会快很多,因为能优化。VPS比虚拟主机便宜。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +