Medidas de Rendimineto de las aplicaciones en Eclipse
Aug 17, 09 by Juan Lebrijo about Pruebas y Test, blog, Eclipse
Para un estudio de Rendimiento de una aplicación Java sería deseable contar con las siguientes funcionalidades:
  • Integrado en nuestras herramientas: Eclipse
  • Monitorización de memoria, CPU, objetos, métodos,…
  • Análisis de código para mejores prácticas programando
Este documento trata de explicar los siguientes puntos:
  • Instalación en Eclipse.
  • Documentar el modo de uso
Basado en los siguientes artículos del sitio de Autenthia, "Adictos al trabajo":

El proyecto TPTP de Eclipse

Test and Performace Tools Platform, TPTP , es un proyecto inegrado dentro de eclipse dedicado a desarrollar las herramientas para la monitorización de aplicaciones. En nuestro IDE podemos arrancar servidores en modo profiling:
75.jpg 21.9 KB
De aquí podemos ir deduciendo qué objetos crecen en número o uso de memoria constantemente, cuales usan más la CPU o la memoria, etc:
78.jpg 35.9 KB

Configurar Eclipse

Instalar TPTP:
  • Del menú superior, seleccionar Help > Software Updates > Find & Install > Search for New Features to Install
  • Seleccionar "Europa Discovery Site".
  • Expandir la entrada "Test and Performance" y elegir todas las opciones.
  • Sigue las instrucciones, y reinicia Eclipse cuando se solicite.
De la misma manera podemos instalar BIRT que es un proyecto para generar informes, ya que lo vamos a utilizar también.

Análisis de rendimiento

Lo primero es iniciar el servidor que albergue nuestra aplicación en modo Profiling:
75.jpg 21.9 KB
Después se solicita rellenar las opciones a monitorizar y donde guardar los análisis:
76.jpg 42.6 KB
Se nos abre la perspecitva de Profiling and Testing:
80.jpg 50.4 KB
A medida que vamos utilizando la aplicación en el navegador (abajo-izquierda), TPTP va recolectando los datos de análisis. Y podemos ver las estadisticas de memoria (instancias y Bytes):
78.jpg 35.9 KB
O de ejecución (tiempos de CPU):
79.jpg 31.9 KB
Se puede también ver las estadísticas agrupadas por métodos o clases:
81.jpg 39.4 KB

Sacando informes

Instalando el proyecto BIRT, se pueden sacar informes y gráficas de los análisis:
83.jpg 52.7 KB
Se crea un fichero HTML con las gráficas de rendimiento, podemos ver un ejemplo:
84.jpg 41.5 KB

Análisis de código

Esta opción nos otorga la posibilidad de ver como de bueno es elcódigo que tenemos entre mános. Dándonos la posibilidad de analizar las mejores pr´cticas de programación, y corregirlas automáticamente en todo nuestro proyecto si lo deseamos. Antes de nada, hay que configurar nuestra perspectiva para que añada lña opción en el menúcontextual:
85.jpg 40.8 KB
Desde el menú superior accedemos a Run > Analysis..., y creamos un análisis, seleccionando el conjunto de reglas que vienen por defecto para analizar "J2SE Best Practices":
86.jpg 27 KB
Cliqueamos para comenzar a analizar, y obtenemos los resultados en la pantalla. Como vemos con la opción "Quick fix" podemos corregir automáticamente el error en el sitio:
87.jpg 25.4 KB
RoundCube: Webmail 2.0
Dec 29, 08 by Juan Lebrijo about blog, e-mail, Web
Vamos a instalar RoundCube, una aplicación LAMP para leer los correos electrónicos de un servidor de correo. Escrita en PHP, y sobre una base de datos MySQL o PostgreSQL, requiere un servidor de correo IMAP. Está diseñado con muy buen gusto, y desarrollado en XHTML y CSS2. Como viene siendo habitual os dejo la tabla de referencias: Origen http://www.roundcube.net/ Repositorio http://www.roundcube.net/downloads Paquete roundcubemail-0.2-beta.tar.gz Documentación (inglés) http://trac.roundcube.net/wiki Nos vamos a basar en las instrucciones de su wiki para hacer la instalación. Instalamos la base de datos:
CREATE USER 'roundcubemail'@'%' IDENTIFIED BY '****************';
GRANT USAGE ON * . * TO 'roundcubemail'@'%' IDENTIFIED BY '****************' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `roundcubemail` ;
GRANT ALL PRIVILEGES ON `roundcubemail` . * TO 'roundcubemail'@'%';
ALTER DATABASE `roundcubemail` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci
Instalamos los fuentes:
  • Descomprimimos, y movemos el directorio al raiz:
  • tail -zxvf roundcubemail-0.2-beta.tar.gz
    mv roundcubemail-0.2-beta /var/www/mail
  • Iniciamos la instalación en la URL http://www.lebrijo.com/mail/installer por ejemplo
Securizar Courier
Dec 22, 08 by Juan Lebrijo about blog, e-commerce, security
Vamos a ver como configurar Courier para encriptar su conexión mediante SSL. Además vamos a ver como configurar nuestro cliente de correo preferido (Thunderbird) para conectarse con nuestro servidor seguro. Configuramos los servidores ssl de pop3 e imap, y cerrando los tradicionales:
  • Cerramos puerto 110 de pop3. En /etc/courier/pop3d:
 POP3DSTART="NO"
  • Cerramos puerto 143 de imap. En /etc/courier/imapd:
  •  IMAPDSTART=NO
    Interesante resaltar que para pop3d-ssl e imapd-ssl, los certificados se encuentran en /etc/courier/ (ya que en un futuro interesará comprarlo):
    /etc/courier/pop3d.pem
    /etc/courier/imapd.pem
    Tendremos por último, que abrir al mundo los puertos ya securizados en nuestro firewall:
    • TCP 993 - IMAP
    • TCP 995 - POP3
    El servidor SMTP, aunque puede configurarse sin cifrar, recomendamos el cifrado. En este mismo blog podrá encontrar como securizar postfix. A continuación veremos como configurar Thunderbird teniendo un servidor seguro. Las configuraciones se encuentran en "Configuración de Cuentas". La configuración del servidor SMTP será:
    smtp_thunderbird.jpg 19.2 KB
    Servidor pop, aquí la conexión SSL, a si como user/pswd son necesarios:
    pop3_thunderbird.jpg 13.1 KB
    El servidor IMAP será igualmente necesaria la seguridad:
    imap_thunderbird.jpg 13 KB