Tag Archives: APC

CentOS安装APC加速php

CentOS5默认的PHP版本是5.1,很多新的php程序都无法运行,比如说新的phpmyadmin,所以要升级一下,最好在安装php的时候就默认安装最新的。

 # vim /etc/yum.repos.d/CentOS-Testing.repo

添加如下信息

# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

然后

# yum update

在VPS上如果安装过mysql-server的话用yum的时候会报错,先暂停一下mysql。

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

像这样的加速器有很多,最出名的几个 open source PHP 加速器是:APC,eAccelerator 和 XCache。APC绝对不是最快的,但是有官方背景支持,而且比较稳定。

# yum install php-devel php-pear httpd-devel

# pecl install apc

编译过程中会问你是否添加对httpd的支持,应为我用的是nginx,所以本来我选了no,但是无法继续编译,只有选yes才能顺利编译完成

# vim /etc/php.d/apc.ini

添加如下

extension=apc.so

重启FastCGI就OK了

如果APC有升级版本,运行如下

sudo pecl upgrade apc

apc内置了一个php的状态文件,拷贝到www目录中就能通过浏览器看到目前APC加速的状态.

# locate apc.php

找不到的话更新一下

# updatedb

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

cp /usr/share/pear/apc.php /var/www/

安装APC会占用一部分内存,在256MB的VPS上启动就占用了近30MB内存,如果负载量大的话很有可能是个内存怪物

PHP-APC加速

PHP-APC加速

其他的PHP加速工具暂时不准备安装了,如果没有发现APC有什么问题的话。下面有张三款加速工具的总结对比:

  • 通过测试得出eAccelerator在请求时间和内存占用综合方面是最好的。
  • 通过测试得出使用加速器比无加速器在请求时间快了3倍左右。
  • 通过各个官方观察,XCache是更新最快的,这也说明最有发展的。
PHP-APC-eAccelerator-XCache对比

PHP-APC-eAccelerator-XCache对比

PS:安装时可能遇到的错误

1.

cannot open /httpd/build/config_vars.mk: No such file or directory at /usr/sbin/apxs line 201

是因为你没有安装x64版本的apr-devel package,运行如下代码

yum install apr-devel.x86_64