Spiga

Instalando mod_top en Centos 5.x

February 16, 09 by Pedro Hernández

En casa y en la agencia donde trabajo usamos como sistema operativo para los servidores Centos y como desde hace un tiempo vengo viendo el tema de monitorizar para mejorar la performance de las aplicaciones que desarrollo me decidí a probar mod_top. Esta herramienta corriendo en centos es gracias al soporte de Red Hat Enterprise Linux (RHEL) 4 o 5.

De momento mod_top solo da soporte a las siguiente versiones de PHP: 4.4x, 5.1.x, 5.2.x. Aunque piensan hacerlo además para: Perl, Ruby, Python, mySQL, Postgres, Apache1+2.

Pues bien ¿y qué se pude hacer con esta herramienta?, como ellos lo definen:

  • Localizar cuellos de botella en las aplicaciones.
  • Solucionar problemas gran consumo de memoria.
  • Comprender el uso de la CPU con carga.
  • Diagnosticar las causas de lentitud o la utilización de los recursos.
  • Descubrir las dependencias de la base de datos.
  • Impresionar a sus amigos con su eficiente código escalable.

Instalando mod_top

Para comenzar necesitamos descargar la versión compatible con nuestro PHP.  En mi caso descargué la versión 0.5 (la última a la fecha 2008/02/14) con soporte para PHP  v5.2.x y arquitectura i686. Yo suelo descargar las librerías aquí:

# cd /usr/local/src

Descomprimimos y guardamos su contenido en /opt/mod_top:

# mkdir /opt/mod_top

En este caso el archivo es mod-top-0.5-php52-i686.tar.gz:

# tar -xvzf mod-top-0.5-php52-i686.tar.gz -C /opt/mod_top

Terminado esto toca instalar las librerías Lamp1701 como muestra la documentación…

lib/liblamp1701read.so      - lamp1701 libraries
    liblamp1701utils.so
    liblamp1701write.so
    liblamp1701read.so.0    - shared object name links
    liblamp1701utils.so.0
    liblamp1701write.so.0

… en la carpeta /usr/lib o /usr/lib64 si fuese el caso:

# ln -s /opt/mod_top/mod-top-0.5-php52-i686/lib/liblamp1701*.0 /usr/lib

Instalando la extensión en PHP

Se crea un enlace simbólico del archivo php/lamp1701.so (que en este caso está en /opt/mod_top/mod-top-0.5-php52-i686/) en la carpeta de módulos de PHP (en este caso /usr/lib/php/modules):

# ln -s /opt/mod_top/mod-top-0.5-php52-i686/php/lamp1701.so /usr/lib/php/modules

Ahora a activar la extensión en el php.ini:

# cd /etc/php.d/
# vim mod_top.ini

Dentro del archivo agregamos:

; Enable lamp1701 extension module
extension=lamp1701.so

Ejecutando mod_top

Lo primero es iniciar lamp1701d que se encuentra en sbin/lamp1701d:

# cd /opt/mod_top/mod-top-0.5-php52-i686/sbin
# ./lamp1701d

Ahora ejecutar mod_top:

# cd /opt/mod_top/mod-top-0.5-php52-i686/bin
# ./mod_top -s 127.0.0.1

Una vez ejecutandose este proceso no podremos usar más esta terminal, si no únicamente para monitorizar.

En otra terminal

Verificamos que el proceso mod_top se esté ejecutando:

# ps aux | grep -i mod_top
root      6956  0.2  0.3   4044  2924 tty1     S+   10:43   0:00 ./mod_top -s 127.0.0.1
root      6970  0.0  0.0   3976   744 pts/0    R+   10:44   0:00 grep -i mod_top

Finalmente toca iniciar o reiniciar apache:

# apachectl start

Ahora ejecuta algún proyecto que tengas en php y comenzaras a ver los resultados como se muestra aquí, sobre todo resulta interesante cuando lo usas con symfony.

Saludos.

Yahoo busca programador en PHP, ¿y symfony?

December 02, 07 by Pedro Hernández

En un estado normal de cordura no tendría por que publicar ofertas de empleos de terceros, pero en vista de que en su anuncio no mencionan a symfony y viendo sus últimos movimientos con este framework, puede que resulte obvio que debas llegar conociendo sobre symfony…

Visto en: PHP Developer: Yahoo! Inc

Links 2007-08-28

August 28, 07 by Pedro Hernández

Hace unas semanas el maestro Javier Eguiluz comentaba sobre 5 herramientas PHP que deberías conocer, y hoy buscando en del.icio.us encuentro algunas datos interesantes que podemos usar y aplicar:

  1. Optimizando PHP
    Una nota de parte de aurea Blog que nos da unas pistas para mejorar nuestros scripts PHP.
    .
  2. Speed Up Sites with htaccess Caching
    Un artículo bastante interesante que muestra dos maneras de mejorar la velocidad de carga de nuestros websites usando apache.
    .
  3. Debugging PHP with free tools: PDT + XDebug2
    Este es el más interesante que he encontrado, muestra alternativas libres para debuguear nuestras aplicaciones php.
    .
  4. 20 Indispensible MySQL Resources
    Recursos y alternativas esta vez para MySQL ;)

Saludos :)

Chuleta para la capa de la vista, parte 2

August 12, 07 by Pedro Hernández

Andréia Bohner nos trae una nueva chuleta de la capa de la vista, esta vez centrada en los elementos parciales, componentes, slots y slots de componentes; aún en inglés.

Url: DRY – Partials, Components, Slots e Component Slots do symfony

Instalando symfony en windows

August 03, 07 by Pedro Hernández

Ya en un post anterior había mostrado como instalar pear en windows, ahora le toca a symfony que a la fecha es la versión 1.0.6. Los primeros pasos que realizaré serán muy similares a como se muestra en la pagina oficial para instalar via PEAR en linux. Read the rest of this entry »

Instalando PEAR en windows

August 02, 07 by Pedro Hernández

Eh…, bueno soy sincero y es que estoy tratando de entrar como colaborador en la comunidad de mi PHP Framework favorito: symfony, y para hacer un previo que más que explicar un poco en detalle sobre la instalación de PEAR, la opción más recomendable para symfony. Vamos a ello: Read the rest of this entry »