Cette section fournit certaines informations utiles relatives au réglage et aux performances lors du déploiement d'Messagerie instantanée dans une configuration de pool de serveurs, ainsi qu'à l'optimisation de la procédure de garbage collection (récupération d'emplacements en mémoire). Cette section aborde les sujets suivants :
Vous devez utiliser ces informations tout en vous reportant au Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide.
Dans le cadre d'un déploiement sur un pool de serveurs, vous devez configurer chaque serveur Messagerie instantanée du pool de façon identique.
Exécutez le serveur Messagerie instantanée à l'aide de la version 5 de J2SE. Celle-ci se révèle en effet plus performante et ne nécessite aucun réglage au niveau de la ligne de commande car elle prend en charge des fonctions ergonomiques. Vous trouverez de plus amples informations concernant l'utilisation de cette version de Java dans les documents suivants :
Le serveur Messagerie instantanée utilise le paramètre iim.jvm.maxmemorysize dans iim.conf pour définir la taille maximale du tas JVM à allouer. La valeur par défaut de ce paramètre est de 256 Mo, mais un déploiement actif à grande échelle d'Messagerie instantanée nécessitera davantage de mémoire. Le calcul de la quantité de mémoire à allouer pour les serveurs Messagerie instantanée du pool dépend du nombre d'utilisateurs actifs devant être pris en charge simultanément. Chaque serveur Messagerie instantanée du pool doit disposer de 256 Mo, plus 65 Ko pour chaque utilisateur connecté/actif effectuant quotidiennement une série d'opérations du style :
deux mises à jour de présence ;
cinq conversations d'une durée de 10 minutes ;
une conférence multiutilisateur d'une durée de 15 minutes ;
une connexion et une déconnexion.
Une charge de travail supplémentaire par utilisateur, l'utilisation d'autres services Messagerie instantanée comme les forums ou le transfert de fichiers, ainsi que l'exploitation de fonctions telles que les filtres de messages, l'archivage ou la technologie SSL, consommeront une quantité de mémoire plus importante. Vous devez effectuer le profilage de charge de l'activité d'un utilisateur type avant de déployer Messagerie instantanée dans un environnement de production. Pour plus d'informations sur le profilage de charge d'un déploiement Messagerie instantanée, contactez les services de support Sun.
Messagerie instantanée offre une série d'options de configuration permettant d'adapter la taille et le comportement des pools de threads destinés à traiter les requêtes de client à serveur et de serveur à serveur. Combinés aux ports de service associés, ces pools de threads peuvent contribuer à améliorer la capacité de traitement d'un serveur Messagerie instantanée.
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) |
4 |
iim_server.threadpool.aaa.capacity |
Capacité du pool de threads nommé aaa. |
10 * nombre maximal de threads(aaa) |
Tableau 3 Pools de threads définis pour Messagerie instantanée
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. |
Les pools de threads définis peuvent être spécifiés et utilisés avec le port de service d'un serveur associé uniquement, comme décrit à la section Configuration des ports de service.
Lorsque la capacité d'un pool de threads est dépassée, un message d'erreur standard s'affiche. Le serveur Messagerie instantanée n'acceptera alors aucune autre requête pour le pool de threads tant que le nombre de requêtes ne sera pas redevenu inférieur à la capacité du pool. Si cette situation se produit dans un environnement de pool de serveurs, vous pouvez avoir besoin d'effectuer les opérations suivantes :
augmentation de la capacité du pool de threads ;
spécification d'un pool de threads défini ;
ajustement de la valeur maxthreads du pool de threads ;
utilisation du port de service d'un serveur uniquement ;
augmentation de la mémoire ;
répartition plus rationnelle des utilisateurs au sein du pool de serveurs.
!s2s thread pool iim_server.threadpool=s2s-in iim_server.threadpool.s2s-in.maxthreads=5 |
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). |
vrai |
iim_server.usesslport |
Ouverture des ports SSL (TLS non négociable) |
false |
iim_server.usemuxport |
Ouverture des ports du multiplexeur |
vrai |
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.
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é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 à niveau 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 :