Notes de version de Sun Java Communications Suite 5

Performance, évolutivité et taille d'Instant Messaging

Ce chapitre donne des informations utiles sur le réglage et la performance dans le déploiement d'Instant Messaging en configuration de groupe et sur une opération GC (garbage collection) optimisée, dans les rubriques suivantes :

Information à utiliser avec le Sun Java Communications Suite 5 Deployment Planning Guide .


Attention – Attention –

En déploiement sur serveurs groupés, tous les serveur Instant Messaging doivent avoir la même configuration.


Réglage de la mémoire serveur d'Instant Messaging

Utiliser J2SE version 5 pour démarrer le serveur d'Instant Messaging, un programme plus performant dont l'ergonomie évite la saisie de commandes de réglages. Vous trouverez de plus amples informations concernant l'utilisation de cette version de Java dans les documents suivants :

Le serveur Instant Messaging utilise le paramètre iim.jvm.maxmemorysize dans iim.conf pour définir la taille maximum du tas JVM à allouer. La valeur par défaut de ce pramètre est 256 MB, mais un important déploiement actif d' Instant Messaging nécessite plus de mémoire. La mémoire à allouer aux différents serveurs Instant Messaging du groupe dépend du nombre d'utilisateurs actifs concurrents à approvisionner. Chaque serveur Instant Messaging du groupe a besoin de 256 MB, avec 65 KB pour chaque utilisateur connecté/actif pour des utilisations quotidiennes comme suit :

Une charge supplémentaire par utilisateur, les services Instant Messaging comme le transfert d'informations ou de fichiers, et les fonctions comme les filtres de messagerie, l'archivage ou SSL consomment plus de mémoire. Faire le profil de charge d'une activité type par utilisateur avant de déployer Instant Messaging en situation de production. Contacter l'assistance technique de Sun pour plus d'informations sur l'étude de charge d'un déploiement Instant Messaging.

Configuration du pool de threads et du port de service d'Instant Messaging

Les options de configuration d'Instant Messaging permettent d'adapter la taille et le comportement des pools de threads utilisées pour satisfaire les requêtes de client à serveur et de serveur à serveur. Combinées à des ports de service associés, les pools de threads peuvent améliorer le débit d'un serveur Instant Messaging.

Nom de l'option 

Description 

Valeur par défaut 

iim_server.maxthreads

Nombre maximal de threads du pool de threads par défaut. 

20 

iim_server.threadpool

Liste de pools de threads indépendants. 

Utilisent tous la valeur du pool de threads par défaut. 

iim_server.threadpool.capacity

Capacité(*) du pool de threads par défaut. 

10 * nombre maximal de threads 

iim_server.threadpool.aaa.maxthreads

Nombre maximal de threads du pool de threads nommé aaa :

maxthreads(aaa)

iim_server.threadpool.aaa.capacity

Capacité du pool de threads nommé aaa.

10 * nombre maximal de threads(aaa) 

Tableau 4–4 Pools de threads définis pour Sun Java Communications Suite

Nom 

Utilisation 

s2s-in 

Toutes les communications entrantes de serveur à serveur. Si le port autorise les communications de serveur à serveur, ce pool de threads est utilisé. 

s2s-out 

Toutes les communications sortantes de serveur à serveur. Si le port autorise les communications de serveur à serveur, ce pool de threads est utilisé. 

s2s 

Toutes les communications de serveur à serveur ; combinaison de s2s-in et de s2s-out. 

Vous pouvez spécifier et utiliser des pools de threads définis avec l'unique port du service d'un serveur associé, comme décrit dans Configuration des ports de service. Modifier les configurations de thread et de port dans iim.conf. Redémarrer le serveur après toute modification dans la configuration de thread et de port.

Lorsque la capacité d'un pool de threads est dépassée, un message d'erreur standard s'affiche. Toute requête supplémentaire sera refusée par le serveur Instant Messaging jusqu'à ce que le nombre de requêtes soit inférieur à la capacité du pool de threads. Si cette situation se produit dans un environnement de pool de serveurs, les opérations suivantes peuvent être nécessaires :


Exemple 4–1 Utilisation du pool de threads spécifié pour réserver cinq threads aux communications entrantes serveur à serveur pour Instant Messaging


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

Configuration des ports de service

Cette section décrit les différentes options existantes de configuration des ports de service.

Option 

Définition 

Valeur par défaut 

iim_server.useport

Ouverture des ports normaux (permet l'utilisation de StartTLS). 

true 

iim_server.usesslport

Ouverture des ports SSL (TLS non négociable) 

false 

iim_server.usemuxport

Ouverture des ports du multiplexeur 

true 

iim_server.port

Liste des ports normaux 

5269 

iim_server.sslport

Liste des ports SSL 

5270 

iim_mux.serverport

Liste des ports du multiplexeur 

45222 

iim_server.port.port .sndbuf

Taille du tampon send du socket

aucun 

iim_server.port.port .rcvbuf

Taille du tampon recv du socket

aucun 

iim_server.port.port .interface

Liste des interfaces réseau spécifiques auxquelles se lier 

aucune (signifie n'importe quelle interface) 

iim_server.port.port .protocol

Liste des protocoles autorisés sur ce port (client, serveur, composant, pair) 

tous/un protocole spécifique 

iim_server.port.port .nodelay

Active l'algorithme Nagles 

false 

Il est possible d'améliorer la capacité de traitement d'un port de service en ajustant la taille des tampons d'envoi ou de réception du port.


Exemple 4–2 Configuration des ports de service pour 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 

Réglage du GC (Garbage Collection) pour Instant Messaging

(Référence : 6279277) En raison des différences de traitement de la procédure de garbage collection existant entre les versions 1.4.2 et 1.5 de JRE, vous risquez de ne pas bénéficier des performances optimales si vous utilisez le garbage collector par défaut avec la version 1.4.2 sur l'hôte du serveur. Pour résoudre ce problème, vous pouvez effectuer une mise à jour vers la version 1.5 de JRE ou inclure l'option de ligne de commande ci-après lorsque vous appelez le serveur :


-XX:+UseParallelGC

Pour plus d'informations sur la fonction de garbage collection JRE, reportez-vous aux documents suivants :