VPS 上用 APC 加速 PHP

PHP 是一个解释型语言,每当浏览器请求服务器上一个 PHP 页面的时候,这个 PHP 页面都要在服务器上载入,分析,解释,然后返回给浏览器。对于一个复杂的 PHP 应用程序,如果有一个加速器能缓存 PHP 的中间代码避免每次重新载入同样的 PHP 页面将会很好的提高性能,因为每次浏览器请求将会直接从服务器缓存中读取已被解释过页面,不必再让服务器从磁盘重新读取,节约了磁盘 IO 的时间,也节约了CPU 解释页面的时间。所以对于复杂的 PHP 应用,会有大幅的性能提升。

像这样的加速器有很多,最出名的几个 PHP 开源加速器是:APC,eAccelerator 和 XCache。这里介绍安装和配置 APC。对于 64/128MB 的 VPS,VPSee 不推荐使用加速器,原因很简单,加速器需要适量的内存才能表现出良好的性能,64MB 运行一个 WordPress 刚刚好,还腾不出内存出来运行加速器。

安装必要软件包

# yum install gcc make
# yum install pcre pcre-devel
# yum install php-pear
# yum install php-devel
# yum install httpd-devel

安装 APC

# pecl install apc 

配置 APC

新建一个 apc.ini,加入下面配置:

# vi /etc/php.d/apc.ini
extension = apc.so
apc.enabled = 1
apc.shm_size = 32
apc.include_once_override = 1
apc.mmap_file_mask = /tmp/apc.XXXXXX

载入 APC

如果用的是 Apache 的话就重新启动 Apache,如果用 Nginx/FastCGI 就重启 FastCGI

# /etc/init.d/httpd start

测试

如果想看 APC 正在干嘛,就把 apc.php 拷贝到你的 web 目录,用浏览器访问 apc.php,就可以看到很清楚的数据和图表。先查找 apc.php 在哪,如果 locate 报错就先 updatedb 再 locate,最后打开浏览器访问 http://www.vpsee.com/apc.php 看效果。

# locate apc
locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory

# updatedb

# locate apc.php
/usr/share/pear/apc.php

# cp /usr/share/pear/apc.php /home/www/vpsee.com

评论 (3 Comments)

  1. 效果不明显

  2. 先试下看啊

  3. 这篇文章写的好清楚,在测试环境已经通过了,哪天在生产环境部署一下

发表评论