您的位置 首页 php

干货:让 PHP7 达到最高性能的几个建议

  1. Opcache

记得启用Zend Opcache,因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快,所以之前测试时期就发生了有人一直没有启用Opcache的事情。启用Opcache非常简单,在php. ini 配置文件中加入:

zend_extension=opcache.so

opcache.enable=1

opcache.enable_cli=1″

2. 使用新的编译器

使用新一点的编译器,推荐GCC 4.8以上,因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持,这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)

其实GCC 4.8以前的版本也支持,但是我们发现它支持的有Bug,所以必须是4.8以上的版本才会开启这个特性。

3. HugePage

我之前的文章也介绍过: 让你的PHP7更快之Hugepage ,首先在系统中开启HugePages,然后开启Opcache的huge_code_pages。

以我的CentOS 6.5为例,通过:

$sudo sysctl vm.nr_hugepages=512

分配512个预留的大页内存:

$ cat /proc/meminfo | grep Huge

AnonHugePages: 106496 kB

HugePages_Total: 512

HugePages_Free: 504

HugePages_Rsvd: 27

HugePages_Surp: 0

Hugepagesize: 2048 kB

然后在php.ini中加入:

opcache.huge_code_pages=1

这样一来,PHP会把自身的text段,以及内存分配中的huge都采用大内存页来保存,减少TLB miss,从而提高性能。

除此之外,php是一个非常优秀的脚本语言,简洁、高效,随着4.0的发布,越来越多的人使用它来进行动态网站的开发,可以说,php已经成为最优秀的internet开发语言之一,尤其对于那些需要能够快速、高效地开发中小规模的商业应用的网站开发人员,php是其首选的语言。但是随着php的应用的不断增多,对于这些应用缺乏统一的标准和有效的管理,因此,php社区很难象perl社区的人们那样方便的共享彼此的代码和应用,因为php缺乏象cpan那样的统一的代码库来分类管理应用的代码模块(熟悉perl的人都知道,cpan是一个巨大的perl的扩展模块仓库,编写的应用模块可以放在cpan下面的适当的分类目录下面,其他的人可以很方便地复用,当然,你编写应用模块时候也需要遵守其中的准则。)

为此, pear 就应运而生了,并且从4.04开始,随着php核心一起被分发。

pear能给我带来什么好处?

1.如前所述,pear按照一定的分类来管理pear应用代码库,你的pear代码可以组织到其中适当的目录中,其他的人可以方便地检索并分享到你的成果。

2.pear不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写你的php代码,将会增强你的程序的可读性,复用性,减少出错的几率。

3.pear通过提供2个类为你搭建了一个框架,实现了诸如 析构函数 ,错误捕获功能,你通过继承就可以使用这些功能。

pear的 编码规则

pear的编码规则包括缩进规则,控制结构,函数调用,函数定义,注释,包含代码,php标记,文件头的注释块,cvs标记,url样例,常量的命名这11方面。下面简要地介绍一下:

缩进规则:

pear中需要使用4个空格来缩排代码,并且不使用tab。如果你使用vim,将下列设置放入你的~/.vimrc中:

set expandtab

set shiftwidth=4

set tabstop=4

1. Laravel

<img alt=”分享13款PHP开发框架” src=”” />

这是一款简洁、“优雅”的PHP开发框架,可谓是为WEB艺术家创造的。它可以让开发者从面条一样杂乱的代码中得到解脱,轻松构建一个完美的网络应用程序,且使得每行代码都简洁、富于表达力。Laravel自带了强大的Eloquent ORM和迁移工具,能够完美地与MySQL、Postgres、SQL Server 和 SQLite协同工作。Laravel从开始就将测试作为重点功能,提供灵活的 IoC 容器、集成PHPUnit的测试工具。更方便的是Laravel适应所有级别的开发工作。

2. CodeIgniter

<img alt=”分享13款PHP开发框架” src=”” />

CodeIgniter是一个基于MVC模式、小巧但功能强大的 PHP框架 ,作为一个简单而“优雅”的工具包,它可以为PHP程序员建立功能完善的Web应用程序。如果你是一名使用共享主机,且为客户所要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架,那么CodeIgniter就是你所需要的。CodeIgniter几乎0配置、不需坚守限制性编码规则、不需使用命令行,并广泛兼容标准主机上的各种PHP版本和配置,有着清晰、完善的文档。

3. CakePHP

<img alt=”分享13款PHP开发框架” src=”” />

CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而又不失灵活性。

CakePHP框架提供了强大的基础来创建应用。CakePHP框架基于MVC模式,这使得开发者轻松地定制和扩展应用。该框架还提供了一个基本的组织结构,从文件名到数据库表名,使整个应用保持一致性和逻辑性。

文章来源:智云一二三科技

文章标题:干货:让 PHP7 达到最高性能的几个建议

文章地址:https://www.zhihuclub.com/154199.shtml

关于作者: 智云科技

热门文章

网站地图