使用APC对PHP进行性能优化
2011-10-09 23:56
337 查看
PHP作为脚本语言,每次运行都需要解释、编译运行。
APC(Alternative PHP Cache)是一个PHP的自由和开放的opcode缓存。它的目标是提供一个自由,开放,强大的缓存和优化PHP的中间代码的框架。
APC能够有效避免每次重复解释。
window平台下的dll下载地址:http://downloads.php.net/pierre/
linux平台下的源码下载地址:http://pecl.php.net/package/apc
window下的配置步骤:
1、将php-apc.dll文件拷贝到php目录下的ext文件夹。
2、编辑php.ini,末尾追加:
linux下的安装步骤:
1.下载源码包
wget http://pecl.php.net/get/APC-3.1.5.tgz
注:此处我选择的是3.1.5版本
2.解压、编译、安装
#tar -zxvf APC-3.1.5.tgz
#cd APC-3.1.5
#./configure --enable-apc --enable-mmap
#make
注:如果输入make,提示 'apc_regex' has no member named 'preg' 错误信息
我在测试安装过程中,也出现这个问题。谷歌后发现是因为未安装PCRE、PCRE-devel。
解决方法:yum -y install pcre pcre-devel
#make install
2.编辑php.ini
参数简单说明
apc.enabled 可以设成 0 来禁用 APC。
apc.shm_segments
对编译器缓存要分配的共享内存块的数目。
apc.optimization 优化级别。设为 0 则禁用优化器,更高的值则使用更主动的优化。
apc.ttl 缓存条目在缓冲区所允许的空闲时间的秒数。将此设为零意味着缓冲区有可能被阻赛了的缓存充满而导致新条目不被缓存。
apc.num_files_hint Web 服务器上的被包含或被请求的不同源文件的数目的大概估计。如果不确定则设为 0 或去掉此项;此设定主要用在有数千个源文件的站点。
3、重启apache
另外,官方提供了一个用来查看APC状态的WEB页面。文件可以在APC源码包中得到,文件名apc.php
APC(Alternative PHP Cache)是一个PHP的自由和开放的opcode缓存。它的目标是提供一个自由,开放,强大的缓存和优化PHP的中间代码的框架。
APC能够有效避免每次重复解释。
window平台下的dll下载地址:http://downloads.php.net/pierre/
linux平台下的源码下载地址:http://pecl.php.net/package/apc
window下的配置步骤:
1、将php-apc.dll文件拷贝到php目录下的ext文件夹。
2、编辑php.ini,末尾追加:
[apc] extension="php_apc.dll" apc.enabled=1 apc.shm_segments=1 apc.shm_size=48 apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=d:/tmp/apc.XXXXXX apc.enable_cli=1
linux下的安装步骤:
1.下载源码包
wget http://pecl.php.net/get/APC-3.1.5.tgz
注:此处我选择的是3.1.5版本
2.解压、编译、安装
#tar -zxvf APC-3.1.5.tgz
#cd APC-3.1.5
#./configure --enable-apc --enable-mmap
#make
注:如果输入make,提示 'apc_regex' has no member named 'preg' 错误信息
我在测试安装过程中,也出现这个问题。谷歌后发现是因为未安装PCRE、PCRE-devel。
解决方法:yum -y install pcre pcre-devel
#make install
2.编辑php.ini
[apc] extension=apc.so apc.enabled=1 apc.shm_segments=1 apc.shm_size=48 apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=/var/data/tmp/apc.XXXXXX apc.enable_cli=1
参数简单说明
apc.enabled 可以设成 0 来禁用 APC。
apc.shm_segments
对编译器缓存要分配的共享内存块的数目。
apc.optimization 优化级别。设为 0 则禁用优化器,更高的值则使用更主动的优化。
apc.ttl 缓存条目在缓冲区所允许的空闲时间的秒数。将此设为零意味着缓冲区有可能被阻赛了的缓存充满而导致新条目不被缓存。
apc.num_files_hint Web 服务器上的被包含或被请求的不同源文件的数目的大概估计。如果不确定则设为 0 或去掉此项;此设定主要用在有数千个源文件的站点。
3、重启apache
另外,官方提供了一个用来查看APC状态的WEB页面。文件可以在APC源码包中得到,文件名apc.php
相关文章推荐
- php项目 如何进行 性能优化 一 ( php使用上的性能优化)
- 使用XDebug对PHP进行性能分析
- 使用XCode进行iOS App性能优化
- 如何进行SQL性能优化——使用Data Collector
- NFS架构下使用realpath_turbo优化php性能
- Tair LDB基于Prefixkey的范围查找性能优化项目之如何使用prefix bloomfilter进行过滤
- NFS架构下使用realpath_turbo优化php性能
- 在PHP中使用Memcache优化缓冲性能
- 使用socket方式连接Nginx优化php-fpm性能
- 如何使用工具进行线上 PHP 性能追踪及分析?
- 使用socket方式连接Nginx优化php-fpm性能
- 在PHP中使用Memcache优化缓冲性能
- PHP技巧:使用APC缓存优化PHP程序
- 【PHP性能优化学习】之xhprof安装&&使用
- 客户端启动性能优化实践/使用rebase进行dll基地址重定位
- 数据库查询性能优化(合理使用索引|避免或简化排序|避免对大型表进行全表顺序扫描|避免使用相关的子查询|避免使用通配符匹配 )
- Android进阶——性能优化之尽量多使用AsyncTask进行短时间网络通信
- PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比
- 使用Unity开发安卓游戏怎么进行性能优化?
- 在PHP中使用Memcache优化缓冲性能