Notas de la versión de Sun Java Communications Suite 5

Cuestiones de rendimiento, escalabilidad y tamaño de Instant Messaging

Este apartado proporciona información de utilidad sobre los ajustes y el rendimiento al implementar Instant Messaging en una configuración agrupada en servidores y sobre la optimización de la recopilación de elementos no utilizados en los siguientes apartados:

Esta información debería utilizarse con la Sun Java Communications Suite 5 Deployment Planning Guide.


Precaución – Precaución –

En una implementación del conjunto de servidores, debe configurar del mismo modo cada servidor Instant Messaging.


Ajuste de la memoria del servidor de Instant Messaging

Utilice la versión 5 de J2SE para ejecutar el servidor de Instant Messaging ya que obtendrá un mejor rendimiento y no será necesario realizar ajustes en la línea de órdenes, puesto que admite funciones ergonómicas. Puede encontrar más información sobre el uso de esta versión en los siguientes documentos:

El servidor de Instant Messaging utiliza el parámetro iim.jvm.maxmemorysize en iim.conf para establecer el tamaño máximo de la pila de JVM que se va a asignar. El valor predeterminado de este parámetro es 256 MB. No obstante, una implementación activa de Instant Messaging de mayor tamaño necesitará más memoria. La elección de la cantidad de memoria que se va a asignar a los servidores de Instant Messaging del conjunto de servidores depende del número de usuarios activos simultáneos que sea necesario admitir. Cada servidor de Instant Messaging del conjunto necesita 256 MB junto con 65 KB para cada usuario activo o conectado que realice un uso diario del servicio como el siguiente:

El uso adicional por usuario, el uso de servicios adicionales de Instant Messaging como, por ejemplo, las noticias o las transferencias de archivos, y el uso de funciones como los filtros de mensajes, los archivos de almacenamiento o SSL consumirán una mayor cantidad de memoria. Debe llevar a cabo la creación de perfiles de carga de la actividad de un usuario normal antes de implementar Instant Messaging en un entorno de producción. Póngase en contacto con el Servicio de asistencia de Sun para obtener más información sobre la creación de perfiles de carga para una implementación de Instant Messaging.

Configuración de conjuntos de subprocesos y puertos de servicio de Instant Messaging

Instant Messaging proporciona un conjunto de opciones de configuración para ajustar el tamaño y el comportamiento de los conjuntos de subprocesos con el fin de atender las solicitudes de cliente a servidor y de servidor a servidor. Estos conjuntos de subprocesos, junto con los puertos de servicio asociados, pueden mejorar el rendimiento de un servidor de Instant Messaging.

Nombre de la opción 

Descripción 

Valor predeterminado 

iim_server.maxthreads

Número máximo de subprocesos para el conjunto de subprocesos predeterminado 

20 

iim_server.threadpool

Lista de conjuntos de subprocesos independientes 

(Todos los elementos utilizan el conjunto de subprocesos predeterminado.) 

iim_server.threadpool.capacity

Capacidad (*) del conjunto de subprocesos predeterminado 

10 * subprocesos como máximo 

iim_server.threadpool.aaa.maxthreads

Número máximo de subprocesos para un conjunto de subprocesos con nombre aaa:

maxthreads(aaa)

iim_server.threadpool.aaa.capacity

Capacidad de un conjunto de subprocesos con nombre aaa.

10 * subprocesos máximo (aaa) 

Tabla 4–4 Conjuntos de subprocesos definidos para Sun Java Communications Suite

Nombre 

Uso 

s2s-in 

Todas las comunicaciones entrantes de servidor a servidor Si el puerto permite las comunicaciones de servidor a servidor, se utiliza este conjunto de subprocesos. 

s2s-out 

Todas las comunicaciones salientes de servidor a servidor Si el puerto permite las comunicaciones de servidor a servidor, se utiliza este conjunto de subprocesos. 

s2s 

Todas las comunicaciones de servidor a servidor; la unión de s2s-in y s2s-out. 

Los conjuntos de subprocesos definidos pueden especificarse y utilizarse con un puerto de servicio asociado a un único servidor, tal y como se describe en Configuración del puerto de servicio . Usted edita la configuración del puerto y de los subprocesos en iim.conf. Es necesario que reinicie el servidor después de cambiar las configuraciones del puerto y de los subprocesos.

Si se supera la capacidad del conjunto de subprocesos, se emite un mensaje de error estándar. El servidor de Instant Messaging no aceptará solicitudes adicionales para el conjunto de subprocesos hasta que el número de solicitudes sea inferior al valor de la capacidad del conjunto. Si se produce esta situación en un entorno con conjuntos de servidores, es posible que deba:


Ejemplo 4–1 Uso del conjunto de subprocesos definido para reservar cinco subprocesos para las comunicaciones entrantes de servidor a servidor de Instant Messaging


!s2s thread pool
iim_server.threadpool=s2s-in
iim_server.threadpool.s2s-in.maxthreads=5

Configuración del puerto de servicio

Existen diversas opciones de configuración del puerto de servicio, tal y como se describe en este apartado.

Opción 

Definición 

Valor predeterminado 

iim_server.useport

Permite abrir los puertos normales (permite utilizar StartTLS). 

verdadero 

iim_server.usesslport

Permite abrir los puertos SSL (TLS no negociable) 

falso 

iim_server.usemuxport

Permite abrir los puertos multiplexor 

verdadero 

iim_server.port

Lista de puertos normales 

5269 

iim_server.sslport

Lista de puertos SSL 

5270 

iim_mux.serverport

Lista de puertos multiplexor 

45222 

iim_server.port.puerto .sndbuf

Tamaño del búfer de send del socket

ninguno 

iim_server.port.puerto .rcvbuf

Tamaño del búfer de recv del socket

ninguno 

iim_server.port.puerto .interface

Lista de interfaces de red específicas a las que enlazarse 

ninguno (indica cualquier interfaz) 

iim_server.port.puerto .protocol

Lista de los protocolos permitidos en este puerto (cliente, servidor, componente, homólogo) 

todos/cualquiera 

iim_server.port.puerto .nodelay

Activa el algoritmo Nagles 

falso 

Puede mejorarse el rendimiento de un puerto de servicio ajustando el tamaño del envío del puerto para los tamaños de búfer de recepción.


Ejemplo 4–2 Configuración de los puertos de servicio de Instant Messaging


iim_server.port = 5269, 45269, 15222
iim_server.port.5269.protocol = server
iim_server.port.45269.protocol = peer, component
iim_server.port.45269.sndbuf= 512000
iim_server.port.45269.recvbuf= 512000
iim_server.port.15222.protocol = client 

Ajuste de la recopilación de los elementos no utilizados para Instant Messaging

(Número de problema: 6279277) Debido a las diferencias en la forma en que las versiones 1.4.2 y 1.5 de JRE administran la recopilación de elementos no utilizados, es posible que disminuya el rendimiento al utilizar el recopilador de elementos no utilizados predeterminado con la versión 1.4.2 del host del servidor. Para solucionar este problema, puede actualizar a la versión 1.5 de JRE o incluir la siguiente opción de línea de órdenes al llamar al servidor:


-XX:+UseParallelGC

Para obtener más información sobre la recopilación de elementos no utilizados de JRE, consulte los siguientes documentos: