Rendimiento

En MQSeries Publicación/suscripción, una sola hebra procesa publicaciones en cada una de las colas de corriente de datos. Esto garantiza al orden en que las publicaciones se publican desde la cola.

Al considerar el rendimiento para las publicaciones de un dominio de intermediarios de WebSphere Business Integration Event Broker, debe considerar también la importancia del orden en que se publican los mensajes. Las técnicas para aumentar el rendimiento no garantizan necesariamente que haya un orden.

WebSphere Business Integration Event Broker da soporte a dos opciones que aumentan el rendimiento:
  1. Puede configurar el flujo de mensajes con hebras adicionales estableciendo la propiedad Instancias adicionales del nodo MQInput. Esta propiedad hace que el intermediario deba planificar hebras adicionales para leer los mensajes de la cola de entrada, lo que permite al intermediario procesar las publicaciones de dicha cola al mismo tiempo. Debe asegurarse de que la cola de corriente de datos (entrada) tenga establecido el atributo share (las colas de corriente de datos necesarias de MQSeries Publicación/suscripción deben tener noshare establecido).

    Si varias hebras procesan mensajes de una sola cola, no se garantiza que las publicaciones se entreguen a los suscriptores en el orden en que se colocan en la cola de entrada. No obstante, WebSphere Business Integration Event Broker proporciona un método que permite que las publicaciones se procesen al mismo tiempo, mientras mantienen la secuencia requerida.

    Establezca la propiedad Modalidad de orden del nodo MQInput en el valor Por ID de usuario. Esto garantiza el orden de entrega de las publicaciones enviadas al intermediario por parte de un usuario determinado. Cuando se establece esta propiedad, el proceso de los mensajes que incluyen un campo UserIdentifier determinado en el MQMD se interrumpe si cualquier otra hebra que da servicio a ese flujo de mensajes está procesando en ese momento un mensaje que incluye el mismo UserIdentifier.

    Las ventajas de ejecutar instancias adicionales del flujo de mensajes se anulan si todas las aplicaciones de publicación se ejecutan bajo el mismo ID de usuario. Este puede ser el caso de las aplicaciones de publicación conectadas a un gestor de colas remoto al gestor de colas del intermediario. Los mensajes de estos publicadores remotos llegan al intermediario en un canal que puede haberse configurado para insertar el ID de usuario del programa de canal en lugar del ID de usuario del cliente originario. Consulte la publicación MQSeries Intercommunications si desea ver más información sobre cómo establecer el atributo de canal PUTAUT para cambiar el comportamiento del canal por omisión.

  2. Puede configurar uno o varios flujos de mensajes adicionales (no instancias) que lean publicaciones de colas distintas. También debe actualizar algunas de sus aplicaciones de publicación para publicar en la cola o colas nuevas. Esto tiene el efecto de dividir la corriente de datos y, por lo tanto, de esparcir la carga de trabajo.

    Si decide aumentar el rendimiento utilizando este método, debe tener en cuenta el impacto que esto supone en el orden en que se entregan las publicaciones. En particular, debe asegurarse de que las aplicaciones de publicador estén divididas según los temas publicados para garantizar que puede mantenerse el orden en cada tema, si esto es importante. Si sus aplicaciones publican en colas distintas (flujos de mensajes) acerca del mismo tema, no puede garantizase que exista ningún orden.

    Si actualiza las aplicaciones de publicador para enviar publicaciones a una nueva cola cuyo nombre sea distinto al de la corriente de datos en la que publican, debe también actualizar estas aplicaciones para que incluyan explícitamente el nombre de corriente de datos de sus publicaciones utilizando el parámetro MQPSStreamName.

    No es necesario modificar las aplicaciones de publicación que especifican un parámetro de corriente de datos, ya que este parámetro tiene precedencia. No obstante, si las aplicaciones de publicación no especifican el parámetro de corriente de datos, el comportamiento se determina estableciendo la propiedad Denominación de corriente de datos implícita del nodo de publicación en el flujo de mensajes:
    • Si la propiedad se establece como false (falsa), se presupone la corriente de datos por omisión.
    • Si la propiedad se establece como true (verdadera), se presupone que el nombre de la corriente de datos es el mismo que el nombre de la cola de entrada de corriente de datos.