Slimming básico de JBoss

En este tutorial se muestra un ejemplo concreto y sencillo de mejora en el tiempo de arranque de JBoss

Slimming Básico
de JBoss

Introducción

En Autentia usamos el servidor de aplicaciones JBoss
en varios de nuestros proyectos. Los reinicios de servidor forma parte
del ciclo de desarrollo de aplicaciones web, y nos hemos preguntado si
puede optimizarse el tiempo de (re)carga de, en este caso, JBoss. Para
ello he seguido unas pautas indicadas en la wiki de
JBoss
, y muestro los resultados. En función de la
plataforma de desarrollo, recursos software y hardware los resultados
pueden variar; puede aparecer un tutorial complementado a este; sin
embargo os animamos a que lo probéis por vosotros mismos.

Entorno del test

  • Toshiba Equium C2Duo 1.5GH, 3GB Ram, HDD SATA
  • Debian unstable [07/02/2007]
  • Eclipse Europa EE 3.3.1.1
  • JBoss-4.2.2.GA con el agrumento: -c
    default
  • JDK 1.5.0_11 con -Xms128m -Xmx512m
  • 1 proyecto web desplegado con tecnologías
    JSF/MyFaces Tomahawk/EJB3/Lucene/Lius/Log4Java/MySQL.

Documentación

Utilizaré http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossASTuningSliming
(sección Slimming) como referencia, si bien la wiki aporta
más información que merece dedicarla algo
más de tiempo.

Resultados

Para estas pruebas, JBoss está configurado como servidor del
proyecto en Eclipse. Por lo tanto deplegamos (publish/deploy…) el
proyecto una primera y única vez y en adelante levantaremos
y detendremos el servidor desde el IDE, observamos los logs y anotamos
los tiempos en segundos de inicio a medida que deshabilitamos servicios
y componentes propios de jBoss sugeridos en la documentación
y que no sean aplicables a nuestro proyecto. Las pruebas son
acumulativas, y por el orden presentado:

Estado Prueba sugerida por la
documentación
Reinicio #1 Reinicio #2 Promedio
0 Tiempo
original sin slimming
39 40 39.5
1 «When
not using the J2EE client deployer
service»
40 38 39
2 «When
not using JBossMQ (our JMS server)»
34 36 35
3 «When
not using the HTTPInvoker (which
lets you tunnel RMI over HTTP)»
35 34 34.5
4 «When
not using XA datasources
(Distributed and/or recoverable transactions)»
34 36 35
5 «If
you do not need the web-console»
35 35 35
6 «If
you are not using console/email
monitor alerts»
34 35 34.5
7 «If
you are not using rich property
editors»
34 34 34
8 «If
you are not using the JBoss Scheduler
Manager»
34 34 34
9 «»If
you do not need to use CORBA/IIOP»
32 30 31

Gráficamente:

Verás que muchas de las pruebas sugeridas no se presentan en
la tabla. Para la aplicación deplegada en concreto, se
observaban trazas de excepciones en el log, reflejando errores en
dependencias de la aplicación y/o servidor o incluso
imposibilidad de arranque del mismo.

Conclusión

Es evidente que puede sacarse más partido al
slimming e hilar fino con el tunning para obtener mejores resultados,
aunque a groso modo hemos reducido el tiempo de arranque en un 20%.
Asimismo convendría hacer un muestreo más amplio
para evitar el sesgo, pero los datos presentados son reales tomando mi
plataforma de desarrollo y un proyecto actual como un ejemplo. Desde
Autentia te animamos a que partas de este tutorial para trabajar en
ello, aprender y sacar tus propias conclusiones.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

02/03/2026

José Antonio Sánchez Segovia

Zephyr es un RTOS open source respaldado por la Linux Foundation que permite desarrollar dispositivos embebidos conectados, eficientes y escalables, facilitando el paso de prototipo a producto final con una arquitectura mantenible.

23/02/2026

Enrique Casado Díez

LoRa y LoRaWAN son tecnologías clave en el ecosistema IoT cuando se requiere largo alcance y bajo consumo energético. En este artículo analizamos su funcionamiento, Spreading Factor, link budget, arquitectura de red, frecuencias y clases de dispositivos, con un caso práctico real.

19/02/2026

Juan José Díaz Antuña

Copilot Chat es la forma más sencilla y segura de empezar a usar IA en Microsoft 365. En este artículo vemos cómo funciona, cómo activarlo y en qué se diferencia de Microsoft 365 Copilot, Copilot Studio y los Agentes Inteligentes, con ejemplos prácticos y una comparativa clara.