PHP优化

启用OPcache

php编译过程.

1.scanning,将PHP代码转换为语言片段(Tokens)

2.Parsing,将Tokens转换为简单而有意义的表达式

3.Compilation,将表达式编译成Opcodes(操作码,机器码)

4.Execution,顺序执行Opcodes,每次一条,从而实现PHP脚本的功能

方法:在源码没有改动的情况下,我们可以将Opcodes缓存起来,当访问php文件的时候,系统直接从缓存中取得Opcodes来执行.相关可以了解  OPcacheAPCuWindows Cache for PHPSession Upload Progress API

php内置有zend   OPcache

11005865-e65f093d23e02814.png

Zend  OPcache会自动在内存中缓存预先编译好的PHP字节码,如果缓存了某个文件的字节码,就执行对应的字节码

 

2.使用redis和memchae等缓存工具


3.缓冲输出

如果在较少的块中发送更多的数据,而不是在较多的块中发送较少的数据,那么网络的效率会更高.也就是说,在较少的片段中把内容传递给访问者的浏览器,能减少http请求总数

因此我们要让PHP缓冲输出.php默认已经启用了.php.ini是如下的配置

output_buffering = 4096

implicit_flush = Off

大概的意思就是php缓冲4096字节的输出之后才会把其中的内容发给web服务器.

如果要修改输出缓冲区的大小,确保使用的值是4(32位系统)或8(64位系统)的倍数

真实路径缓存

修改php.ini中的

realpath_cache_size = 4096k

php会缓存应用使用的文件路径,这样每次包含或导入文件时就无需不断搜索包含路径了.这个缓存叫真实路径缓存.想要知道你当前真实路径缓存实际用了多少可以用realpath_cache_size();这个方法获得.然后进行估算获得你需要设定的值

 

 

参考资料

高性能电子商务平台构建:架构、设计与开发

Modern  PHP

PHP与MySQL高性能应用开发