探索PHP7(一)--性能

2024-05-31 07:32
文章标签 性能 探索 php7

本文主要是介绍探索PHP7(一)--性能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

探索PHP7(一)–性能

前言

在2015年12月2号,鸟哥的在开源中国发布的新闻写在 PHP 7 发布之际一些话,小编意识到从8月份发布第一个公测版到现在经过了将近4个月的等待PHP7正式版本终于发布了,所以果断装上了一个玩玩,确实和之前所说的一样提升很大,进过了几天的测试,所以写下这篇博文希望能和大家有一个共同的了解.

注:已经有很多新闻博客分享了关于PHP7的一些讯息,我希望通过一名普通程序员的角度来看待它对我们带来的价值.

附上:

鸟哥:写在 PHP 7 发布之际一些话:http://www.oschina.net/news/68607/php-7-laruence-feeling

PHP官方地址:http://www.php.net/

1. 简单粗暴的测试

那么问题来了PHP7发布的最大的亮点是什么?

无疑是它带了了相当可观的性能提升,我们先从几个长使用的框架下手看看5.6和7之间的差距有多少,然后我们在通过具体的测试来对不同的操作具体产生了多大的影响

配置信息:服务器为:2核心2G(Centos6.5),LoadRunner压力机为4核4G,ab压力机为2核2G

PHP版本信息:PHP 5.6.14 (cli) 和 PHP 7.0.0 (cli) 均开启opcache

在这里对于小编几个常用的框架(PhalApi,ThinkPHP,wordpress)针对不同的环境进行压力测试(本来有意向对C框架进行测试,可惜Phalcon并没有支持PHP7,等支持后后继补上)

1.1 ab测试

  1. wordpress

    php5.6

    php7

  2. ThinkPHP

    php5.6

    php7

  3. PhalApi

    php5.6

    php7

1.2 LoadRunner测试

  1. wordpress

    php5.6

    php7

  2. ThinkPHP

    php5.6

    php7

  3. PhalApi

    php5.6

    php7(压力服务器瓶颈CPU占用满)

1.3 结论

我们能从ab测试中看出PHP7对wordpress的提升已经超过了2倍以上,对PhalApi和ThinkPHP这两个框架都是达到了最少3/1 的提升,但是从LoadRunner的测试结果中小编感到有些奇怪,wordpress和ThinkPHP居然没有什么提升,但是wordpress在PHP7中稳定性明显高于PHP5.6,PhalApi和ab测试中保持了一致的结果,而且在PHP7测试中,压力服务器达到了瓶颈,也就是说实际值是大于压力值的.

2. 稳定性测试

通过了简单粗暴的性能测试之后,我们很明显的看的出来性能的提升还是非常显著,但是在我们替换掉生产环境之前还面临这一个问题那就是稳定性,这里采用LoadRunner对正常的业务(使用PhalApi框架)进行了12小时的压力对比测试(基于PhalApi中的正常业务),结果如下:

php5.6

php7

从12小时压力测试曲线图可以看出,php7的稳定性依然强劲,并且在细节上稍微超越了PHP5.6

3. 总结

进过了上面的这么多数据分析,相信大家对PHP7的性能有了一个大致的体会,这次的测试只是对于纯框架来说,在真正的业务场景下小编对生产环境的项目根据场景不动提升在3/2到3/4不等,小编只能说赶快上上上,还在为php性能苦恼的童鞋赶快来试试PHP7吧,在本章之后还会对PHP7具体提升在那里和新特性解读继续深入,喜欢的童鞋希望你能关注!

鸣谢:@鸟哥,@PHP7开发组成员,为我们带来这次重大的更新,我相信PHP在今后的路上会越走越远

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!—–转载请申明出处,以及地址

本人QQ号:591235675 欢迎大家一同交流!

这篇关于探索PHP7(一)--性能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017562

相关文章

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java慢查询排查与性能调优完整实战指南

《Java慢查询排查与性能调优完整实战指南》Java调优是一个广泛的话题,它涵盖了代码优化、内存管理、并发处理等多个方面,:本文主要介绍Java慢查询排查与性能调优的相关资料,文中通过代码介绍的非... 目录1. 事故全景:从告警到定位1.1 事故时间线1.2 关键指标异常1.3 排查工具链2. 深度剖析:

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤