Propriétés ORB

Les propriétés ORB (Object Request Broker) modifient le comportement du transport de la grille de données. Ces propriétés peuvent être définies avec un fichier orb.properties, comme paramètres dans la console d'administration de WebSphere Application Server ou en tant que propriétés personnalisées dans ORB dans la console d'administration de WebSphere Application Server.

orb.properties

Le fichier orb.properties se trouve dans le répertoire java/jre/lib. Lorsque vous modifiez le fichier orb.properties dans un répertoire WebSphere Application Server java/jre/lib, les propriétés ORB sont mises à jour sur l'agent de noeud et toutes les autres machines virtuelles Java (JVM) qui utilisent l'environnement d'exécution Java (JRE). Si vous ne souhaitez pas ce comportement, utilisez des propriétés personnalisées ou les paramètres ORB de la console d'administration WebSphere Application Server.

Paramètres WebSphere Application Server par défaut

Par défaut, WebSphere Application Server a certaines propriétés définies dans ORB. Ces paramètres se trouvent dans les services de conteneur de serveur d'applications et le gestionnaire de déploiement. Ces paramètres par défaut remplacent les paramètres que vous créez dans le fichier orb.properties. Pour chaque propriété décrite, reportez-vous à la section Où définir pour déterminer l'emplacement de définition de la valeur suggérée.

Paramètres de descripteur de fichier

Pour UNIX et Linux, il existe une limite pour le nombre de fichiers ouverts autorisés par processus. C'est le système d'exploitation qui spécifie le nombre permis de fichiers ouverts. Si cette valeur est trop basse, une erreur d'allocation de mémoire se produit sur AIX, et trop de fichiers ouverts sont consignés.

Dans la fenêtre de terminal UNIX, augmentez cette valeur au-dessus de la valeur par défaut du système. Dans le cas de grosses machines SMP avec des clones, fixez une valeur illimitée.

Pour les configurations AIX, définissez la valeur -1 (illimité) avec la commande ulimit -n -1.

Pour les configurations Solaris définissez la valeur 16384 avec la commande ulimit -n 16384.

Pour afficher la valeur en cours, utilisez la commande ulimit –a.

Paramètres de référence

Les paramètres ci-après peuvent servir de référence, mais il ne s'agit pas nécessairement des meilleurs paramètres pour chaque environnement. Il convient de comprendre les paramètres pour définir des valeurs adaptées à votre environnement.
com.ibm.CORBA.RequestTimeout=30
com.ibm.CORBA.ConnectTimeout=10
com.ibm.CORBA.FragmentTimeout=30
com.ibm.CORBA.LocateRequestTimeout=10
com.ibm.CORBA.ThreadPool.MinimumSize=256
com.ibm.CORBA.ThreadPool.MaximumSize=256
com.ibm.CORBA.ThreadPool.IsGrowable=false
com.ibm.CORBA.ConnectionMultiplicity=1
com.ibm.CORBA.MinOpenConnections=1024
com.ibm.CORBA.MaxOpenConnections=1024
com.ibm.CORBA.ServerSocketQueueDepth=1024
com.ibm.CORBA.FragmentSize=0
com.ibm.CORBA.iiop.NoLocalCopies=true
com.ibm.CORBA.NoLocalInterceptors=true

Descriptions des propriétés

Paramètres d'expiration

Les paramètres ci-après concernent le délai d'attente respecté par l'ORB avant d'abandonner des opérations de demande. Utilisez ces paramètres pour empêcher la création d'un trop grand nombre d'unités d'exécution dans une situation anormale.

Délai d'expiration de la demande

Nom de la propriété : com.ibm.CORBA.RequestTimeout

Valeur valide : entier indiquant un nombre de secondes.

Valeur suggérée : 30

Où définir : WebSphere Application Server administrative console

Description : indique le délai d'attente en secondes d'une réponse à une demande. Cette propriété influence la durée de la reprise en ligne du client en cas d'indisponibilité du réseau. Si vous spécifiez une valeur trop faible pour cette propriété, les demandes risquent d'arriver à expiration par inadvertance. Définissez soigneusement la valeur de cette propriété pour éviter les dépassements de délai d'attente.

Délai d'expiration de la connexion

Nom de la propriété : com.ibm.CORBA.ConnectTimeout

Valeur valide : entier indiquant le nombre de secondes.

Valeur suggérée : 10

Où définir : fichier orb.properties

Description : indique le délai d'attente en secondes d'une connexion de socket. Cette propriété, comme celle du délai d'expiration de la demande, peut influencer la durée de la reprise en ligne du client en cas d'indisponibilité du réseau. En règle générale, cette propriété doit avoir une valeur inférieure à la valeur de délai d'attente de la demande, car le délai d'établissement des connexions est relativement constant.

Délai d'expiration des fragments

Nom de la propriété : com.ibm.CORBA.FragmentTimeout

Valeur valide : entier indiquant le nombre de secondes.

Valeur suggérée : 30

Où définir : orb.properties file

Description : indique le délai d'attente en secondes d'une demande de fragment. Cette propriété est similaire à celle du délai d'expiration de la demande.

Paramètres du pool d'unités d'exécution

Ces propriétés restreignent la taille du pool d'unités d'exécution à un nombre spécifique d'unités d'exécution. Les unités d'exécution sont utilisées par l'ORB pour distribuer les demandes du serveur une fois qu'elles ont été reçues sur le socket. Si vous affectez des valeurs de propriété trop basses, vous allongez la file d'attente de sockets et éventuellement les délais.

Multiplicité des connexions

Nom de la propriété : com.ibm.CORBA.ConnectionMultiplicity

Valeur valide : entier indiquant le nombre de connexions entre le client et le serveur. La valeur par défaut est 1. Si vous spécifiez une valeur supérieure, le multiplexage est défini entre plusieurs connexions.

Valeur suggérée : 1

Où définir : fichier orb.properties

Description : permet à ORB d'utiliser plusieurs connexions à un serveur. En théorie, la définition de cette valeur promeut le parallèlisme sur les connexions. En pratique, la multiplicité des connexions n'améliore pas les performances. Ne spécifiez pas ce paramètre.
Connexions ouvertes

Noms des propriétés : com.ibm.CORBA.MinOpenConnections, com.ibm.CORBA.MaxOpenConnections

Valeur valide : entier indiquant le nombre de connexions.

Valeur suggérée : 1024

Où définir : console d'administration WebSphere Application Server

Description : indique les nombres minimal et maximal de connexions ouvertes. L'ORB conserve un cache des connexions établies avec les clients. Ces connexions sont purgées lorsque cette valeur est transmise. La purge des connexions peut nuire au comportement de la grille de données.
Peut augmenter

Nom de la propriété : com.ibm.CORBA.ThreadPool.IsGrowable

Valeur valide : booléenne. Affectée de true ou false.

Valeur suggérée : false

Où définir : orb.properties file

Description : si la valeur est true, le pool d'unités d'exécution qu'utilise ORB pour les demandes entrantes peuvent croître au-delà de ce que le pool prend en charge. Si la taille du pool est dépassée, des unités d'exécution sont créées pour traiter la demande, mais elles ne sont pas placées dans un pool. Empêchez le pool d'unités d'exécution de croître en définissant la valeur false.
Longueur de la file d'attente des sockets de serveur

Nom de la propriété : com.ibm.CORBA.ServerSocketQueueDepth

Valeur valide : entier pour le nombre de connexions.

Valeur suggérée : 1024

Où définir : fichier orb.properties

Description : Indique la longueur de la file d'attente des connexions entrantes des clients. L'ORB place les connexions entrantes des clients en file d'attente. Si la file d'attente est saturée, les connexions sont refusées. Le refus de connexion peut affecter le comportement de la grille de données.
Taille du fragment

Nom de la propriété : com.ibm.CORBA.FragmentSize

Valeur valide : entier qui définit le nombre d'octets. La valeur par défaut est 1024.

Valeur suggérée : 0

Où définir : fichier orb.properties

Description : Indique la taille de paquet maximale utilisée par l'ORB lors de l'envoi d'une demande. Si la taille d'une demande est supérieure à la taille limite du fragment, la demande est divisée en fragments de demande qui sont envoyés séparément, puis réassemblés sur le serveur. La fragmentation des demandes est utile sur les réseaux non fiables où les packets doivent parfois être renvoyés. Toutefois, si le réseau est fiable, la division des demandes en fragments peut entraîner un traitement superflu.
Copies non locales

Nom de la propriété : com.ibm.CORBA.iiop.NoLocalCopies

Valeur valide : booléenne. Affectée de true ou false.

Valeur suggérée : true

Où définir : console d'administration WebSphere Application Server, paramètre de transmission par référence.

Description : Indique si l'ORB utilise la transmission par référence. Par défaut, l'ORB utilise un appel de transmission par valeur. Un appel de transmission par valeur occupe plus de place et entraîne une sérialisation plus importante dans le chemin lorsqu'une interface est démarrée localement. Si vous spécifiez la valeur true, l'ORB utilise une méthode de transmission par référence, qui est plus efficace que l'appel de transmission par valeur.
Intercepteurs non locaux

Nom de la propriété : com.ibm.CORBA.NoLocalInterceptors

Valeur valide : booléenne. Affectée de true ou false.

Valeur suggérée : true

Où définir : fichier orb.properties

Description : indique si l'ORB démarre les intercepteurs de demande, même lorsque des demandes locales (processus internes) sont faites. Les intercepteurs utilisés par WebSphere eXtreme Scale pour la gestion de la sécurité et des routes ne sont pas obligatoires si la demande est gérée au sein du processus. Les intercepteurs qui circulent entre les processus ne sont requis que pour les opérations RPC (Remote Procedure Call). En indiquant la non-utilisation d'intercepteurs locaux, vous pouvez éviter le traitement supplémentaire que génère l'utilisation d'intercepteurs locaux.
Avertissement : Si vous utilisez la sécurité WebSphere eXtreme Scale, affectez à la propriété com.ibm.CORBA.NoLocalInterceptors la valeur false. L'infrastructure de sécurité utilise des intercepteurs pour l'authentification.