PHP APC安裝與使用
最簡單的方法,找到php安裝目錄的pecl
自動安裝:
# /usr/local/php/bin/pecl install apc
下面按提示一步步完成即可
配置/etc/php.ini 末尾加入
extension=apc.so
手動安裝:
#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 ( [num_slots] => 1031 [ttl] => 0 [num_hits] => 4 [num_misses] => 1 [num_inserts] => 1 [expunges] => 0 [start_time] => 1322818377 [mem_size] => 4240 [num_entries] => 1 [file_upload_progress] => 1 [memory_type] => mmap [locking_type] => spin Locks [cache_list] => Array ( [0] => Array ( [type] => file [device] => 2049 [inode] => 883230 [filename] => /var/www/tb.php [num_hits] => 4 [mtime] => 1322818340 [creation_time] => 1322818379 [deletion_time] => 0 [access_time] => 1322818482 [ref_count] => 1 [mem_size] => 4240 ) ) [deleted_list] => Array ( ) [slot_distribution] => Array (
... ...
多次點選,可以發現num_hits在變化,說明快取命中了!
壓力測試看效果:
先看看關閉apc功能,在php.ini中配置
這個時候吞吐率Requests per second 比沒用之前提高許多
==========
另外幾款php快取工具
Xcache
eAccelerator