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:
Configuración de conjuntos de subprocesos y puertos de servicio de Instant Messaging
Ajuste de la recopilación de los elementos no utilizados para Instant Messaging
Esta información debería utilizarse con la Sun Java Communications Suite 5 Deployment Planning Guide.
En una implementación del conjunto de servidores, debe configurar del mismo modo cada servidor 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:
Dos actualizaciones de presencia
Cinco charlas de 10 minutos de duración
Una conferencia con varios usuarios de 15 minutos de duración
Un cierre y un inicio de sesión
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.
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) |
4 |
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:
Aumentar la capacidad del conjunto de subprocesos
Especificar un conjunto de subprocesos definido
Ajustar el número máximo de subprocesos, maxthreads, para el conjunto de subprocesos
Utilizar un puerto de servicio exclusivo de servidor
Aumentar la memoria
Distribuir de forma más eficaz los usuarios en el conjunto de servidores
!s2s thread pool iim_server.threadpool=s2s-in iim_server.threadpool.s2s-in.maxthreads=5 |
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.
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 |
(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: