返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何用yum的方式安装PHP7并进行性能测试
  • 104
分享到

如何用yum的方式安装PHP7并进行性能测试

2023-06-27 10:06:46 104人浏览 八月长安
摘要

今天小编给大家分享一下如何用yum的方式安装PHP7并进行性能测试的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php7与H

今天小编给大家分享一下如何用yum的方式安装PHP7并进行性能测试的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

如何用yum的方式安装PHP7并进行性能测试

php7与HHVM

对于普通的PHP网站,主要是io密集型的,瓶颈在MySQL数据之上,体现不出来PHP性能的劣势。但在密集计算方面比C、c++、Java这种静态编译型语言差几十倍甚至上百倍。如果在PHP开发中使用了比较复杂的框架,如symfony,程序性能会明显下降。事实上,PHP语言最初的设计,就不是用来解决计算密集型的应用场景。我们可以这样粗略理解为,PHP为了提升开发效率,而牺牲了执行效率。

但PHP比较流行,如新浪微博、Facebook这种大型网站大部分程序都是使用PHP写的,也就是在这种大规模应用下,PHP性能低下就显现出来了。Facebook早期的很多代码是使用PHP来开发的,但是,随着业务的快速发展,PHP执行效率成为越来越明显的问题。为了优化执行效率,Facebook在2008年就开始使用HipHop,这是一种PHP执行引擎,最初是为了将Fackbook的大量PHP代码转成 C++,以提高性能和节约资源。使用HipHop的PHP代码在性能上有数倍的提升。后来,Facebook将HipHop平台开源,逐渐发展为现在的HHVM。HHVM用来替换PHP自身使用的引擎Zend Engine。据说性能提升了70%。当然PHP官方也知道PHP最大的短板,于是推出了PHP7项目,主要是重构了Zend Engine引擎。

PHP7最显著的变化就是性能的极大提升,已接近Facebook开发的PHP执行引擎HHVM。在WordPress基准性能测试中,速度比5.6版本要快2~3倍,大大减少了内存占用。PHP7在语言上也有一些变化,比如添加返回类型声明、增加了一些新的保留关键字等。在安全方面,去除了PHP安全模式,添加魔术引号等。不仅如此,新版还支持64位,而且包含最新版Zend引擎。其实PHP7的在真实场景的性能确实已经和HHVM相当,在一些场景甚至超过了HHVM。但HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂了, 并且它不会自动重启。另外它采用JIT, 那么意味着, 重启以后要预热, 没有预热的情况下, 性能较为糟糕。并且多线程模型调试困难, 这对于追求稳定来说的WEB服务来说, 是非常不适合的。

YUM安装PHP7

想使用最新版PHP,就需要使用到REMI源,Remi repository是包含最新版本PHP和Mysql包的linux源,由Remi提供维护。有个这个源之后,使用YUM安装或更新PHP、mysql较新版本了。

安装最新的Remi源自动安装文件

Centos 6 / RHEL 6yum install Http://rpms.famillecollet.com/enterprise/remi-release-6.rpm# CentOS 7 / RHEL 7yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

安装PHP相关组件,下面提供的是一个生产环境中可以使用的标配安装。

$ yum --enablerepo=remi,remi-php70 installphp \php-cgi \php-cli \php-fpm \php-common \php-devel \php-mysqlnd \php-mysql \php-sqlite3 \php-mbstring \php-msgpack \php-mcrypt \php-bcmath \php-gd \php-xml \php-ldap \php-xmlrpc \php-opcache \php-curl \php-JSON \php-odbc \php-pdo \php-bz2 \php-xml \php-ftp \php-imap \php-snmp \php-redis \php-memcached

查看PHP版本

$ php -vPHP 7.0.9 (cli) (built: Jul 20 2016 18:08:08) ( NTS )

启动PHP-FPM

$ service php-fpm start

到这里,PHP7.0就安装完成了。如果需要用到PHP扩展功能,如Redis、memcached等,只需要也使用YUM安装即可,如下:

$ yum --enablerepo=remi,remi-php70 install php-redis php-memcached

如果在REMI或EPEL源中都找不到你需要的扩展模块,那么就需要手动编译安装了,也很简单。

另外查看PHP模块信息使用php -m命令。

$ php -m | grep redisredis

安装一套LNMP参考:LNMP安装包部署实战或者参考PHP7.0版本的LNMPZabbix 3.0安装使用详解

PHP7性能测试

环境:4核 CPU,内存4G,操作系统Centos 6.5。

首先说一点GCC编译器的建议,据鸟哥建议,使用新一点的编译器,推荐 GCC 4.8以上,因为只有GCC 4.8以上PHP才会开启Global ReGISter for opline and execute_data支持, 这个会带来5%左右的性能提升。

写一段程序(网上提供的简单测试方法):

第一段,生成一个 60 万元素的数组,通过查找key 的方式,来确定key是否存在。

$a = array();for($i=0;$i$i++){ $a[$i] = $i;}foreach($a as $i){array_key_exists($i, $a);}

首先是PHP 5.3.17版。

[root@localhost test]# time php search_by_key.phpreal 0m0.389suser 0m0.337ssys  0m0.051s[root@localhost test]# time php search_by_key.phpreal 0m0.378suser 0m0.308ssys  0m0.062s[root@localhost test]# time php search_by_key.phpreal 0m0.378suser 0m0.317ssys  0m0.061s

其次是PHP 7.0版本。

[root@localhost php7]# time php7 search_by_key.phpreal 0m0.082suser 0m0.066ssys  0m0.014s[root@localhost php7]# time php7 search_by_key.phpreal 0m0.080suser 0m0.058ssys  0m0.021s[root@localhost php7]# time php7 search_by_key.phpreal 0m0.080suser 0m0.053ssys  0m0.026s`

响应时间在PHP7下运行变为原来的1/4。

还是上面的这个方式,不过由于速度较慢,所以变成了一个60000个元素的数组,查找值。

$a = array();for($i=0;$i$i++){ $a[$i] = $i;}foreach($a as $i){array_key_exists($i, $a);}[root@localhost test]# time php search_by_val.phpreal 0m24.296suser 0m24.184ssys  0m0.025s[root@localhost test]# time php search_by_val.phpreal 0m25.523suser 0m25.317ssys  0m0.026s[root@localhost test]# time php search_by_val.phpreal 0m26.026suser 0m25.478ssys  0m0.092s

等待的时间,总是觉得很漫长,三次测试,花掉了75秒多。下面,PHP 7 登场了。

[root@localhost php7]# time php7 search_by_val.phpreal 0m3.362suser 0m3.323ssys  0m0.007s[root@localhost php7]# time php7 search_by_val.phpreal 0m3.266suser 0m3.251ssys  0m0.004s[root@localhost php7]# time php7 search_by_val.phpreal 0m3.290suser 0m3.275ssys  0m0.006s

有没有!速度整整提高了将近7倍。

以上就是“如何用yum的方式安装PHP7并进行性能测试”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网PHP编程频道。

--结束END--

本文标题: 如何用yum的方式安装PHP7并进行性能测试

本文链接: https://lsjlt.com/news/309321.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何用yum的方式安装PHP7并进行性能测试
    今天小编给大家分享一下如何用yum的方式安装PHP7并进行性能测试的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。PHP7与H...
    99+
    2023-06-27
  • PHP7怎么通过yum源安装及性能测试
    今天就跟大家聊聊有关PHP7怎么通过yum源安装及性能测试,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。提到PHP,肯定会有人说这是世界上最好的编程语言。单说流行程度,目前全球超过8...
    99+
    2023-06-05
  • 如何进行Tokudb安装测试
    如何进行Tokudb安装测试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一 前言   To...
    99+
    2024-04-02
  • 如何使用Gateling进行性能测试
    这篇文章主要讲解了“如何使用Gateling进行性能测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Gateling进行性能测试”吧!Gatling是什么?Gatling 是一个用...
    99+
    2023-06-02
  • 如何进行C++代码的性能测试?
    如何进行C++代码的性能测试概述:在软件开发过程中,性能测试是一项非常重要的任务。对于C++代码来说,性能测试可以帮助开发人员了解代码的执行效率,找到性能瓶颈,并对其进行优化。本文将介绍一些常用的C++代码性能测试方法和工具,帮助开发人员提...
    99+
    2023-11-02
    测试 性能测试 C++代码
  • 如何进行H5前端性能测试
    如何进行H5前端性能测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说到H5测试,对于做WEB测试的同学来说再熟悉不过了,它包括页H5功能测试,前端性能测试,...
    99+
    2023-06-05
  • ASP IDE路径并发:如何进行性能测试和优化?
    ASP是一种流行的Web开发技术,可以用于构建动态网站和Web应用程序。然而,在ASP应用程序中,IDE路径并发问题可能会导致性能问题和应用程序崩溃。本文将介绍如何进行ASP IDE路径并发的性能测试和优化,以确保您的应用程序在高流量期间...
    99+
    2023-10-11
    ide path 并发
  • 如何使用Go语言对分布式应用进行性能测试
    对于分布式应用程序的性能测试,go 提供了 vegeta 和 locust 两个框架。使用 vegeta,可创建自定义测试脚本并配置攻击选项,执行并发请求并生成详细报告。使用 locus...
    99+
    2024-05-08
    go语言 性能测试 python git 并发请求
  • Golang 技术性能优化中如何进行性能测试?
    进行性能测试对于优化 go 应用程序至关重要,可以通过使用各种工具,例如 bencher、pprof、httperf 和 wrk,来评估应用程序在特定负载下的性能,包括响应时间、吞吐量和...
    99+
    2024-05-11
    golang 性能测试 git 标准库
  • 如何进行mysql性能测试库的CRASH恢复
    今天就跟大家聊聊有关如何进行mysql性能测试库的CRASH恢复,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 环境:O...
    99+
    2024-04-02
  • 如何使用Go语言进行高效的性能测试
    go 语言提供了高效的性能测试工具,包括内置的 testing 包,用于编写基准测试。基准测试使用 benchmark 函数定义,并通过 run 函数运行。例如,可以编写一个基准测试来测...
    99+
    2024-05-07
    go语言 性能测试 git
  • 如何进行IE8与IE7具体功能中InPrivate模式下的安全性测试
    这篇文章将为大家详细讲解有关如何进行IE8与IE7具体功能中InPrivate模式下的安全性测试,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知...
    99+
    2024-04-02
  • 如何使用tpcc-mysql对mysql进行TPCC性能测试
    这篇文章主要介绍如何使用tpcc-mysql对mysql进行TPCC性能测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! tpcc-mysq是满足TPC...
    99+
    2024-04-02
  • 如何对 C++ 函数性能进行基准测试?
    为 c++++ 函数进行基准测试,可采取以下步骤:使用计时工具(如 std::chrono 库)测量执行时间。编写基准测试函数以执行代码并返回执行时间。利用基准测试库获取高级功能,如统计...
    99+
    2024-04-19
    性能基准测试 git c++
  • 如何在Python中进行代码性能优化和性能测试
    如何在Python中进行代码性能优化和性能测试引言:当我们编写代码时,经常会面临代码执行速度慢的问题。对于一个复杂的程序来说,效率的提升可以带来明显的性能提升。本文将介绍如何在Python中进行代码性能优化和性能测试,并给出具体的代码示例。...
    99+
    2023-10-22
    性能 (Performance) 优化 (Optimize) 测试 (Test)
  • Java如何使用JMeter进行高并发测试
    这篇文章主要介绍了Java如何使用JMeter进行高并发测试,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。软件的压力测试是一种保证软件质量的行为.在金融,电商等领域应用比较普...
    99+
    2023-06-25
  • 如何进行CentOS 6与CentOS 7的性能测试对比
    这篇文章主要为大家分析了如何进行CentOS 6与CentOS 7的性能测试对比的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行CentOS 6与Ce...
    99+
    2023-06-28
  • Golang开发建议:如何进行高效的性能测试
    Golang是一种快速、强大的编程语言,广泛应用于高性能的后端开发。在进行Golang应用程序的开发过程中,性能测试是非常重要的一环。通过性能测试,我们可以了解系统在不同负载下的表现,发现潜在的性能瓶颈,并对系统进行优化。那么,在Golan...
    99+
    2023-11-22
    性能优化 Golang性能测试 高效测试
  • Linux下如何使用yum的方式安装mysql
    这篇文章将为大家详细讲解有关Linux下如何使用yum的方式安装mysql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。\1. 先检查系统是否装有mysql[root@localhost ~]#...
    99+
    2023-06-27
  • PHP中如何进行网站性能测试和优化?
    PHP是一种广泛应用于Web开发的脚本语言,在Web应用和网站开发中占有重要地位。随着Web应用和网站的功能不断扩展,对性能的要求越来越高。因此,如何进行PHP网站性能测试和优化显得非常重要,本文将详细介绍PHP网站性能测试和优化的方法和技...
    99+
    2023-05-21
    PHP性能测试 PHP网站性能优化 PHP性能工具
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作