找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3980|回复: 0

[原]PHP APC安装与使用

[复制链接]
发表于 2012-1-17 10:13:31 | 显示全部楼层 |阅读模式
最简单的方法,找到php安装目录的pecl
自动安装:
# /usr/local/php/bin/pecl install apc
下面按提示一步步完成即可   
配置/etc/php.ini 末尾加入
extension=apc.so


手动安装:
官网 http://cn2.php.net/manual/zh/book.apc.php

下载http://pecl.php.net/package/APC 找最新的

#wget http://pecl.php.net/get/APC-3.1.9.tgz
# tar -zxvf APC-3.1.9.tgz
# cd APC-3.1.9
# /usr/local/php/bin/phpize (生产configure文件)
# ./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php/bin/php-config
# make
# make install
拷贝添加SO文件
# cp /usr/local/lib/php/extensions/no-debug-zts-20060613/apc.so /usr/local/php/lib/php/extensions/apc.so
# chmod 755 /usr/local/php/lib/php/extensions/apc.so
修改PHP.INI使之启动APC模块
修改 php.ini下
extension_dir = “./”
extension_dir = “/usr/local/php/lib/php/extensions”
配置/etc/php.ini 末尾加入
extension=apc.so
apc.enabled = 1
apc.cache_by_default = on
apc.shm_segments = 1
apc.shm_size = 128
apc.ttl = 7200
apc.user_ttl = 7200
apc.num_files_hint = 1024
apc.write_lock = On
apc.gc_ttl=3600
apc.ttl=0
apc.mmap_file_mask=/tmp/apc.XXXXXX
重启apache

#/usr/local/apache2/bin/apachectl restart


使用APC
<?php
print_r(apc_cache_info());
?>

注意 在浏览器看会不是很友好,可以查看网页源代码就看到很清晰Array
  1. (
  2.     [num_slots] => 1031
  3.     [ttl] => 0
  4.     [num_hits] => 4
  5.     [num_misses] => 1
  6.     [num_inserts] => 1
  7.     [expunges] => 0
  8.     [start_time] => 1322818377
  9.     [mem_size] => 4240
  10.     [num_entries] => 1
  11.     [file_upload_progress] => 1
  12.     [memory_type] => mmap
  13.     [locking_type] => spin Locks
  14.     [cache_list] => Array
  15.         (
  16.             [0] => Array
  17.                 (
  18.                     [type] => file
  19.                     [device] => 2049
  20.                     [inode] => 883230
  21.                     [filename] => /var/www/tb.php
  22.                     [num_hits] => 4
  23.                     [mtime] => 1322818340
  24.                     [creation_time] => 1322818379
  25.                     [deletion_time] => 0
  26.                     [access_time] => 1322818482
  27.                     [ref_count] => 1
  28.                     [mem_size] => 4240
  29.                 )
  30.         )
  31.     [deleted_list] => Array
  32.         (
  33.         )
  34.     [slot_distribution] => Array
  35.         (
复制代码
... ...

多次点击,可以发现num_hits在变化,说明缓存命中了!
压力测试看效果:

怎么压力测试看之前的文章  http://blog.csdn.net/21aspnet/article/details/6595984
先看看关闭apc功能,在php.ini中配置
# ab -n1000 -c10 http://localhost/tb.php

这个时候吞吐率Requests per second 比没用之前提高许多


==========
另外几款php缓存工具
Xcache
http://xcache.lighttpd.net/

eAccelerator

http://sourceforge.net/projects/eaccelerator/

作者:21aspnet 发表于2011-12-2 15:58:57 原文链接

您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 18:18 , Processed in 0.019097 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表