APC
Instalamos el paquete de apc para php5
$ sudo aptitude install php-apc
Memcache
Servidor de memcache
$ sudo aptitude install memcached
Memcache para php5
El modulo por defecto del php5-memcache de fallos y parece que según el CVS para la siguiente versión va estar corregido.
Es necesario el compilarlo a pelo:
$ wget http://pecl.php.net/get/memcache-2.2.5.tgz
$ tar -zxvf memcached-2.2.5.tgz
$ cd memcached-2.2.5
$ phpize && ./configure --enable-memcache && make
$ sudo cp memcache.so /usr/lib/php5/20060613+lfs/
$ cd /etc/php5/apache2/conf.d/
$ sudo su
$ echo 'extension=memcache.so' > /etc/php.d/memcached.ini
$ /etc/init.d/apache2 restart
Ahora ya configuramos los parámetros.
php.ini
$ sudo nano /etc/php5/apache2/php.ini
Y añadimos:
; Memcache
memcache.hash_strategy="consistent"
settings.php
Configuración del cache para nuestro sitio. Esta sacado de lullabot.
'./sites/all/modules/memcache/memcache.inc',
// or
'cache_inc' => './sites/all/modules/memcache/memcache.db.inc',
'memcache_servers' => array(
'localhost:11211' => 'default',
'localhost:11212' => 'content',
'localhost:11213' => 'filter',
'localhost:11214' => 'menu',
'localhost:11215' => 'page',
'localhost:11216' => 'views',
),
'memcache_bins' => array(
'cache' => 'default',
'cache_content' => 'content',
'cache_filter' => 'filter',
'cache_menu' => 'menu',
'cache_page' => 'page',
'cache_views' => 'views',
),
);
?>
Servidor de memcache
Editamos el fichero de memcache y lo configuramos con los siguientes parámetros personalizados.
$ sudo nano /etc/init.d/memcache
Estos parámetros variaran según el hardware y aplicación.
#!/bin/bash
prog="memcached"
start() {
echo -n $"Starting $prog "
# Sessions cache.
memcached -m 16 -l 0.0.0.0 -p 11211 -d -u nobody
# Default cache.
memcached -m 32 -l 0.0.0.0 -p 11212 -d -u nobody
# Block cache.
memcached -m 32 -l 0.0.0.0 -p 11213 -d -u nobody
# Content cache. Holds fully loaded content type structures.
memcached -m 16 -l 0.0.0.0 -p 11214 -d -u nobody
# Filter cache. Usually the busiest cache after the default.
memcached -m 32 -l 0.0.0.0 -p 11215 -d -u nobody
# Form cache.
memcached -m 32 -l 0.0.0.0 -p 11216 -d -u nobody
# Menu cache.
memcached -m 32 -l 0.0.0.0 -p 11217 -d -u nobody
# Page cache. Bigger than most other caches.
memcached -m 128 -l 0.0.0.0 -p 11218 -d -u nobody
# Views definition cache.
memcached -m 1 -l 0.0.0.0 -p 11219 -d -u nobody
# Views data cache (may need to be increased if heavily used).
memcached -m 32 -l 0.0.0.0 -p 11220 -d -u nobody
# More caches that might be added later:
# Users table.
#/usr/bin/memcached -m 24 -l 0.0.0.0 -p 11219 -d -u nobody
# Path source cache.
#/usr/bin/memcached -m 4 -l 0.0.0.0 -p 11220 -d -u nobody
# Path destination cache.
#/usr/bin/memcached -m 6 -l 0.0.0.0 -p 11221 -d -u nobody
RETVAL=$?
echo
return $RETVAL
}
stop() {
if test "x`pidof memcached`" != x; then
echo -n $"Stopping $prog "
killall memcached
echo
fi
RETVAL=$?
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
condrestart)
if test "x`pidof memcached`" != x; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart}"
exit 1
esac
exit $RETVAL
Referencias
- http://www.lullabot.com/articles/setup-memcached-mamp-sandbox-environment
- http://www.lullabot.com/articles/how_install_memcache_debian_etch
- http://drupal.org/project/memcache
- http://www.lullabot.com/articles/a_beginners_guide_to_caching_data
- http://www.howtoforge.com/installing-memcached-and-the-php5-memcache-module-on-debian-etch-apache2
- http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/
- http://de.php.net/manual/en/memcache.installation.php#95063
- http://blogofsysadmins.com/instalar-memcached-en-centos-5-3
Comentarios