Saturday, January 23, 2010

Instalacion de Memcached para la optimizacion de CMS [perdorros]

A veces, cuando tenemos un sitio que recibe una cantidad importante de visitas, nuestro servidor empieza a pedir socorro, ya que por ejemplo, en el caso de un sitio que utilice Drupal, Joomla, WP, o algun otro manejador de contenido, por cada pagina visitada tenemos cientos (sino miles) de consultas a nuestra querida y cascoteada base de datos.



Una buena opcion es la instalacion de un sistema de cacheo de objetos, que es a lo que vamos a dedicarnos ahora.



Memcached es un motor de cacheo de objetos en memoria, pensado para incrementar la velocidad de webs dinamicas (Segun Danga, su desarrollador).

El mismo es usado por gran cantidad de sitios reconocidos (siendo el ejemplo mas notorio Facebook, que utiliza una version tocada del mismo).



Pero ahora vamos a lo divertido! A levantar nuestro demonio memcache!!!



En este ejemplo usaremos CentOS 5.4 y memcached 1.1.4 que son las ultimas versiones al momento



  • Instalar libevent y libevent-dev

  • Esto lo haremos, en nuestro caso, usando yum:

    # yum install libevent libevent-dev



  • Bajar los fuentes de memcached actuales

  • # wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz

    # tar xvvf memcached-1.4.4.tar.gz

    # cd memcached-1.4.4



  • Una vez dentro, le damos los pasos comunes y corrientes de una compilacion normal:

  • # ./configure [--enable-64bit]


    Donde:

    --enable-64bit -- Construimos una version de 64Bits de Memcached



    # make

    # make install




    Si todo salio bien, una vez hecho esto tendremos el ejecutable de memcached en /usr/local/bin/memcached

    Ahora tendremos que crear el /etc/init.d correspondiente para iniciarlo:

    # vim /etc/init.d/memcached




    #!/bin/sh

    case "$1" in

    start) /usr/local/bin/memcached -d -u root -m 512 -p 11211

    ;;

    stop) killall memcached

    ;;

    esac




    Donde:

    -d -- Iniciarlo como demonio

    -u root -- Usuario con el que se iniciara el proceso de memcached

    -m 512 -- Cantidad de memoria asignada al cache

    -p 11211 -- Puerto de red al que memcached escuchara por comandos o peticiones


    Luego de haber iniciado el demonio, debemos instalar la extension de PECL a fin de que Memcached pueda ser utilizado con PHP:

  • Bajamos y descomprimimos el fuente del modulo:

  • # wget http://pecl.php.net/get/memcache

    # tar xvvf memcache

    # cd memcache-X.X.X


  • Y empezamos a construir...

  • # phpize

    # ./configure

    # make

    # make install




    Luego agregamos nuestro recien creadito modulo en nuestra configuracion de PHP, colocando las siguientes lineas en nuestro php.ini:

    extension=memcache.so

    Y voila, ya tenemos nuestro memcached instalado para que sea utilizado por, por ejemplo, Drupal y sus modulitos locos...

    Wednesday, January 20, 2010

    Esta es una prueba desde BloGTK... Esta bastante bueno!!!