background image

php 真很强。今天就说下在 PHP 的 脚本级上来调整 PHP 的性能。 如果你想在单台服务器 上
提高

PHP 的性能。我们可以使用“编译缓存”。

负载瓶颈

 一般主要在以下四个方面:

1  数据库
2 服务器 CPU
3 硬盘 I/O
4 网络带宽
除了这四个。还有什么值得我们优化的呢。

php 真很强。今天就说下在 PHP 的 脚本级上来调

PHP 的性能。

如果你想在单台服务器

 上提高 PHP 的性能。我们可以使用“编译缓存”。 编译 cache 不单能提

高性能而且会随着

PHP 程序的容量和代码复杂性的增加 服务器的性能也增加。什么是编译

cache 呢。等下告诉你。我们先说下 PHP 编译脚本文件所要做的两步吧:
1 php 引擎读脚本文件,解释脚本然后在 ZEND 引擎里生成可执行的中间代码
2  ZEND 第二次开始 执行中间代码

 们要注意。第一步是在每次 PHP 脚本文件被请求的时候都要重复一次的东西。 而且这个

过程,会因为脚本里面又包括

 

include

()

require

() 

eval

()  而递归 重复执行第一步。可想而知消

耗有多大了。特别

PHP 文件很大的时候。所以为什么建议写 PHP 文件时候不赞成行数过多。

说到这里大家就明白了。其实我们可以在

 第一步那里做点文章。如果我们把第一步解释文件

那里把解释后的代码缓存到共享内存里面。如果有第二个请求这个脚本的时候就可以跳过第
一步而直接进入第二步。因为第一步已经

cache 在内存里面了。

我们看图比较一下
先看下如果没使用

 编译 cache 的情况

再来个使用了编译

cache 的情况

行了看看就明白了。是吧。有了

 编译 cache 少走了很多弯路。 特别是在你的代码里有大量的

 

include

 呀 

require

 呀的时候特别有效。

现在介绍三个编译

cache:

1 The ionCube Accelerator  不开源的说。
2 TheZendAccelerator 要钱的罗。我穷呀
3  APC  这个我最喜欢因为不要钱。效果还挺好哦
我们就说

APC

安装

 大概是这样的。通过 pear 来安装

#pear install apc
修改下

php.ini 加上扩展

extension = /path/to/apc.so
OK 就这么简单。但你再次运行 PHP 的时候。  这个 APC 就已经有作用了。编译代码就 cache 
在了

share 内存中了。那个爽呀。

如果是

window 的 找下这个里面有 这个扩展

APC 安装完了后我们还需要调整下 APC 的各方面的参数。 这个当然按照你自己项目环境来
调整了。