欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

lnmp - 关于 PHP7 GCC PGO 编译的疑惑

程序员文章站 2022-03-30 23:50:27
...
看了鸟哥写的 让你的PHP7更快(GCC PGO,然后开始自己编译。

sapi/cgi/php-cgi -T 100 /var/www/htdocs/wordpress/index.php >/dev/nul
这个步骤的时候,

sapi/cgi/php-cg这个东西,在/php-7.0.10/sapi/cgi并不找得到这个文件

然后其实自己是 lnmp ,是不是应该用sapi/fpm/下的某个文件来训练?

但是新手真的不知道这步怎么玩。搜索了一下没有洋鬼子的教程,几乎都是转自啊的鸟哥的文章, php 官网也有这个方法的说明。。。

回复内容:

看了鸟哥写的 让你的PHP7更快(GCC PGO,然后开始自己编译。

sapi/cgi/php-cgi -T 100 /var/www/htdocs/wordpress/index.php >/dev/nul
这个步骤的时候,

sapi/cgi/php-cg这个东西,在/php-7.0.10/sapi/cgi并不找得到这个文件

然后其实自己是 lnmp ,是不是应该用sapi/fpm/下的某个文件来训练?

但是新手真的不知道这步怎么玩。搜索了一下没有洋鬼子的教程,几乎都是转自啊的鸟哥的文章, php 官网也有这个方法的说明。。。

GCC PGO优化编译PHP7的步骤
用PGO(Profile Guided Optimization)根据profile数据进行特定场景优化,能带来10%的性能提升.
1.首先第一遍编译PHP7,让它生成会产生profile数据的可执行文件,其中prof-gen是PHP7的Makefile特有的参数:
make prof-gen
2.用php-cgi跑100遍WordPress首页,从而生成一些在这个过程中的profile信息:
sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
3.根据profile信息编译PGO优化的可执行文件:

make prof-clean
make prof-use && make install

其中sapi/cgi/php-cgi是第一次编译得到的一个二进制程序,make prof-gen后就能在php-src/sapi/cgi/这个目录看到.