PHP加速器APC

来源:互联网 发布:回收站恢复软件 编辑:程序博客网 时间:2024/04/29 23:28

转自:http://zzstudy.offcn.com/archives/10464

大流量站点推荐使用稳定性更好的APC加速缓存

APC 和 eAccelerator 都是不错的PHP加速缓存,但是为什么在这里要推荐使用 APC 而不是 eAccelerator 呢?

1,根据我们对几个大站点的测试,虽然 eAccelerator 在低负载下,性能要比 APC 好点,但是在大流量长期运行的情况下,APC 要比 eAccelerator 要更为稳定。我们推荐出现了 PHP 突然假死,无故出现 502 报错的站点,改用 APC 。

2,Discuz! X2 开始支持用 APC 作为论坛缓存,经过大量站点的使用情况来看,APC的稳定性很好,不会出现一些灵异情况。

3,APC 的发展迅速,自从 FACEBOOK 加入对 APC 的更新后,得到了很大发展,而 eAccelerator 新版本稳定性不佳,功能和代码都被删除了不少。

4,APC 对 PHP5.3 版本支持良好。

APC的安装很简单,下面的步骤以http://faq.comsenz.com/userguide/x/nginx.html的安装规范为准。

1,下载APC

wget http://pecl.php.net/get/APC-3.1.9.tgz

2,解压和编译

tar zxvf APC-3.1.9.tgz
cd APC-3.1.9
/usr/local/php/bin/phpize
./configure --enable-apc --enable-apc-mmap --enable-apc-spinlocks --disable-apc-pthreadmutex --with-php-config=/usr/local/php/bin/php-config
make
make install
make clean

3,编辑php.ini

找到 extension_dir ,把值改为/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/,然后在下面加入

extension=apc.so
apc.enabled = 1
apc.shm_size = 64M
apc.stat = 1

其中apc.shm_size设置的是内存大小,一般用64M即可,小内存的可以改为32M。
apc.stat设置成0的话,性能会更好一点,但是设置成0后,修改了PHP文件后必须得重启下PHP才能马上更新内容。
对于平时修改比较多的站点来说,还是设置成1比较好。

4,重启PHP即可生效。

又百度了一下在windows环境下apc的安装:

php_apc.dll 下载 [php5.2.x]:

http://pan.baidu.com/share/link?shareid=1465449158&uk=419955760

更新版本:http://downloads.php.net/pierre/

 

安装方法:

  1. 下载合适自己版本的APC php_apc.dll 文件
  2. 将php_apc.dll 复制到 php 的ext目录下
  3. 修改php.ini文件 增加 extension=php_apc.dll
  4. 尾部增加

[apc]

apc.enabled = 1

apc.shm_segments = 1

apc.shm_size = 64

apc.optimization = 0

apc.num_files_hint = 1000

apc.ttl = 0

apc.gc_ttl = 3600

apc.cache_by_default = On

apc.slam_defense = 0

apc.file_update_protection = 2

apc.enable_cli = 0

apc.stat=0 #(是否启用脚本更新检查。 改变这个指令值要非常小心。 默认值 On 表示APC在每次请求脚本时都检查脚本是否被更新, 如果被更新则自动重新编译和缓存编译后的内容。但这样做对性能有不利影响。 如果设为 Off 则表示不进行检查,从而使性能得到大幅提高。)

配置详解:http://www.php.net/manual/zh/apc.configuration.php

5. 重新启动IIS/apache

6. phpinfo()打印测试

0 0
原创粉丝点击