[z/OS]

Refus automatique des demandes de travaux lorsque aucun serviteur n'est disponible pour les traiter

Lorsqu'un contrôleur détermine qu'un serviteur est arrêté, il efface généralement les demandes de travaux expédiées dans ce serviteur. Si ce serviteur est le dernier, les nouvelles demandes de travaux sont placées dans la file d'attente des demandes jusqu'à ce qu'un serviteur soit disponible. Suivant le temps nécessaire avant qu'un serviteur ne soit disponible, ces demandes peuvent s'arrêter suite à l'expiration du temps imparti pour le traitement d'une demande. Pour éviter que cela ne se produise, vous pouvez modifier les paramètres de configuration d'un serveur d'applications pour empêcher le contrôleur d'accepter les nouvelles demandes.

Pourquoi et quand exécuter cette tâche

Les contrôleurs reçoivent les demandes des applications de façon continue et les expédient à un serviteur en vue du traitement. Lorsqu'un incident de niveau système se produit (erreur de base de données, par exemple), le traitement des demandes s'arrête et elles sont placées dans les files d'attente entre le contrôleur et les serviteurs. En attendant qu'un serviteur soit disponible, les demandes continuent de s'empiler dans les files d'attente jusqu'à leur expiration. Lorsque le délai d'attente d'une demande est expiré, elle est supprimée de la file d'attente.

Lorsqu'un serviteur est prêt à traiter des demandes, la demande suivante de la file d'attente peut être si près de son délai d'expiration que le processus d'expédition associé ne peut être effectué et le serviteur est de nouveau arrêté par le traitement de l'expiration. Les demandes recommencent à s'empiler dans la file d'attente jusqu'à ce qu'un autre serviteur soit prêt, au risque de voir se reproduire le même problème lié au délai d'expiration. Lorsque cela se produit de façon récurrente, le problème est parfois qualifié de problème de bouncing servant. Vous pouvez le résoudre de l'une des façons suivantes :

  • Vous pouvez configurer le serveur pour détecter automatiquement une situation autre que celles liées au serveur et arrêter la mise en attente des demandes jusqu'à ce que le nombre minimum de serviteurs défini soient prêts à accepter des travaux. Cette approche est la plus simple.
  • Vous pouvez créer une routine d'automatisation pour traiter le problème si vous réalisez que vous êtes face à un problème système avant que les serviteurs soient arrêtés en raison des délais d'attente. Cette routine peut exécuter la commande f serveur, pauselisteners pour empêcher le serveur d'accepter des demandes. La routine doit ensuite détecter quand les circonstances ont changé et exécuter la commande f serveur, resumelisteners lorsque le problème système détecté est résolu.
  • Vous pouvez configurer le serveur pour détecter l'absence de serveur et arrêter la mise en attente des demandes, puis créer la routine d'automatisation évoquée plus haut. Cette routine doit reconnaître les différents traitements pouvant avoir lieu car le serveur est configuré pour détecter l'absence de serveur :
    • Si le dernier serviteur s'arrête malgré l'exécution de la commande f serveur, pauselisteners, le serveur commence à rejeter toutes les demandes et affiche le message BBOO0299I. Le serveur commence à accepter automatiquement les demandes lorsque le nombre minimum de serviteurs pour lequel le serveur est configuré est prêt à accepter des travaux. Le message BBOO0300I est en outre affiché pour indiquer que les demandes sont de nouveau traitées. La routine d'automatisation doit reconnaître que le serveur peut de nouveau accepter des demandes lorsqu'il détecte que le nombre minimum de serviteurs sont disponibles.
    • Si la propriété personnalisée control_region_confirm_recovery_on_no_srs est définie pour le serveur, ce dernier affiche le message WTOR BBOO0297A lorsqu'il détecte que le nombre minimum de serviteurs, pour lequel le serveur est configuré, sont prêts à traiter de nouvelles demandes. Vous devez répondre à ce message avant que le serveur ne commence à accepter des travaux.
    • Si la routine d'automatisation empêche le serveur d'arrêter les serviteurs en raison du traitement du délai d'attente, elle doit également reconnaître lorsque le serveur peut en toute sécurité accepter de nouveau des demandes et exécuter alors la commande f serveur, resumelisteners. La routine d'automatisation peut être configurée pour déterminer si elle doit ou non exécuter la commande f serveur, resumelisteners suivant que le message BBOO0299I apparaît ou non. Ce message indique que le serveur ne dispose plus d'aucun serviteur et rejette les demandes. Cette approche est la plus complexe, mais elle offre plus de souplesse.

Si vous souhaitez configurer le serveur pour gérer des conditions non-serveur, procédez comme suit :

Procédure

  1. Dans la console d'administration, cliquez sur Serveurs > Types de serveur > Serveurs d'applications WebSphere, et sélectionnez le serveur d'applications pour lequel vous désirez détecter automatiquement les absences de serviteur.
  2. Dans le menu Propriétés supplémentaires, sélectionnez Propriétés personnalisées > Nouvelle.
  3. Précisez control_region_dreg_on_no_srs dans la zone Nom et 1 dans la zone Valeur. Lorsque cette propriété personnalisée a la valeur 1, le serveur rejette toutes les demandes à expédier lorsqu'il détecte qu'aucun serviteur n'est prêt à les traiter. L'attribution de la valeur 0 (zéro) à cette propriété désactive cette fonction.
  4. Précisez control_region_confirm_recovery_on_no_srs dans la zone Nom et 0 (zéro) ou 1 dans la zone Valeur. Si vous entrez 0 dans la zone Valeur, le contrôleur recommence à accepter des demandes quand le nombre minimal de serviteurs est prêt à les recevoir. Si vous entrez 1 dans la zone Valeur, le contrôleur affiche le message WTOR BBOO0297A dès qu'il détecte que le nombre minimum de serviteurs pour lequel le serveur est configuré sont prêts à accepter des travaux. Le serveur attend de recevoir une réponse au message pour accepter de nouveau des demandes.
  5. Cliquez sur Consulter, sélectionnez Synchroniser les modifications avec les noeuds, puis cliquez sur Sauvegarder pour mettre à jour le référentiel en fonction des modifications.

Résultats

Lorsqu'un contrôleur détermine qu'un serviteur a terminé, et que celui-ci est le dernier, le contrôleur n'acceptera pas de nouvelle demande de travail jusqu'à tant que le nombre minimal de serviteurs soit disponible pour recevoir les requêtes.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_auto_noservant
Nom du fichier : trun_auto_noservant.html