- MaxMsgRetryCount=number
- When the broker fails to process a command message under syncpoint (for
example a publish message that cannot be delivered to a subscriber because
the subscriber queue is full and it is not possible to put the publication
to the dead-letter queue), the unit of work is backed out and the command
retried this number of times before the broker attempts to process the command
message according to its report options instead.
The default is MaxMsgRetryCount=5.
- StreamsPerProcess=number
- The broker consists of a broker main process (runmqbrk) and a number of broker worker processes (amqfcxba). Each worker process
is capable of supporting one or more streams. Depending upon the broker configuration
(for example the operating system, number of streams, number of publishers,
subscribers and retained messages, whether a non-fastpath routing exit is
in use), varying this number can alter capacity or throughput (or both).
If you have a large number of lightly loaded streams, increase this value.
The defaults are:
- AIX(R)
-
- StreamsPerProcess=10 (RoutingExitConnectType=Standard)
- StreamsPerProcess=1 (RoutingExitConnectType=Fastpath)
- StreamsPerProcess=1 (no routing exit)
- HP-UX, Linux(R), and Solaris
-
- Windows
-
- OpenCacheSize=number
- Each broker stream thread (2 threads for each stream) keeps a cache
of recently used open queues. This parameter specifies the maximum number
of queues in the cache.
The default is OpenCacheSize=128.
- OpenCacheExpiry=number
- Each broker stream thread (2 threads for each stream) keeps a cache
of recently used open queues. If a queue in the cache is not used for approximately OpenCacheExpiry seconds, the queue is removed from the cache (closed).
The default is OpenCacheExpiry=300.
- PublishBatchSize=number
- The broker normally processes publish messages within syncpoint. It
can be inefficient to commit each publication individually, and in some circumstances
the broker can process multiple publish messages in a single unit of work.
This parameter specifies the maximum number of publish messages that can
be processed in a single unit of work.
The default is PublishBatchSize=5.
- PublishBatchInterval=number
- The broker normally processes publish messages within syncpoint. It
can be inefficient to commit each publication individually, and in some circumstances
the broker can process multiple publish messages in a single unit of work.
This parameter specifies the maximum time (in milliseconds) between the first
message in a batch and any subsequent publication included in the same batch.
A batch interval of 0 indicates that up to PublishBatchSize messages
can be processed, provided that the messages are available immediately.
The default is PublishBatchInterval=0.
- ChkPtMsgSize=number
- The broker stores individual publisher and subscriber registrations
as messages on its internal queues. Periodically, it might consolidate a
number of these registrations into a smaller number of larger messages called
checkpoint messages. This action is called checkpointing and is performed
to reduce the number of messages that need to be read to restore the publisher
and subscriber registrations at broker and stream restart.
The ChkPtMsgSize parameter determines the default size of each checkpoint
message in bytes, which in turn determines the number of registrations that
each checkpoint message can contain.
The default is ChkPtMsgSize=100000.
- ChkPtActiveCount=number
- The broker stores individual publisher and subscriber registrations
as messages on its internal queues. Periodically it might consolidate a number
of these registrations into a smaller number of larger messages called checkpoint
messages. This action is called checkpointing and is performed to reduce
the number of messages that need to be read to restore the publisher and subscriber
registrations at broker and stream restart.
The number of changes that
need to be made to part of the registration state of an individual stream
during normal broker operation before checkpointing is considered for that
part depends on the ChkPtActiveCount parameter.
The default is ChkPtActiveCount=400. A lower value makes
checkpointing occur more frequently. A higher value makes checkpointing occur
less frequently. A value of 0 disables checkpointing completely during normal
operation and would be applicable if checkpoint activity was having an adverse
effect on broker throughput.
- ChkPtRestartCount=number
- The broker stores individual publisher and subscriber registrations
as messages on its internal queues. Periodically it might consolidate a number
of these registrations into a smaller number of larger messages called checkpoint
messages. This action is called checkpointing and is performed to reduce
the number of messages that need to be read to restore the publisher and subscriber
registrations at broker and stream restart.
The number of changes that
need to have been made to part of the registration state of an individual
stream during broker or stream restart before checkpointing is considered
for that part depends on the ChkPtRestartCount parameter.
The default is ChkPtRestartCount=40. This is
lower than the ChkPtActiveCount on the assumption that
stream or broker restart is a more suitable time for the registration state
to be checkpointed. A value of 0 disables checkpointing completely during
restart.
- RoutingExitPath=[path]module_name(function_name)
- Before the broker sends a publication to a subscriber, the broker invokes
the exit identified by the RoutingExitPath (if any).
The default is no routing exit.
- RoutingExitConnectType=FASTPATH|STANDARD
- If the broker is configured to use a routing exit, the exit runs within
a broker process. If the exit conforms to the requirements of a fastpath
application (MQCNO_FASTPATH_BINDING), the broker process can use a fastpath
connection to the queue manager. This attribute informs the broker if the
exit meets the standards necessary for a fastpath application.
Note:
This attribute is relevant only if a RoutingExitPath is
specified. For performance reasons RoutingExitConnectType=FASTPATH
is desirable.
The default is RoutingExitConnectType=STANDARD.
- RoutingExitAuthorityCheck=yes|no
- Before the broker sends a publication to a subscriber the broker must
have validated the subscribers authority to write to the subscriber queue.
If the routing exit changes the message destination, the authority check
already performed by the broker is not valid. This attribute informs the broker
if the authority check should be repeated for any changed destination.
Note:
The performance implications of setting RoutingExitAuthorityCheck=yes are considerable if the routing exit frequently changes the
destination.
The default is RoutingExitAuthorityCheck=no.
- RoutingExitData=string
- If the broker is using a routing exit, the broker invokes the routing
exit passing an MQPXP structure as input. The data specified using this attribute
is provided in the ExitData field. The string can be
up to MQ_EXIT_DATA_LENGTH characters in length.
The default is 32 blank
characters.
- SyncPointIfPersistent=yes|no
- If this attribute is specified, when the broker reads a publish or delete
publication message from a stream queue during normal operation the broker
specifies MQGMO_SYNCPOINT_IF_PERSISTENT. This makes the broker receive nonpersistent
messages outside syncpoint. If the broker receives a publication outside
syncpoint, the broker forwards that publication to subscribers known to the
broker outside syncpoint.
When using SyncPointIfPersistent=yes
it is possible that a nonpersistent publication might not be delivered to
all subscribers known to a broker (for example, if an immediate broker shutdown
occurred while a publish message was being processed). If SyncPointIfPersistent=yes is specified, the broker performance for publishing nonpersistent
publications improves.
The default is SyncPointIfPersistent=yes.
- DiscardNonPersistentInputMsg=yes|no
- If the broker cannot process a nonpersistent input message, the broker
might attempt to write the input message to the dead-letter queue (depending
on the report options of the input message). If the attempt to write the input
message to the dead-letter queue fails, and the MQRO_DISCARD_MSG report option
was specified on the input message or DiscardNonPersistentInputMsg=yes, the broker discards the input message. If DiscardNonPersistentInputMsg=no is specified, the broker will only discard the input message
if the MQRO_DISCARD_MSG report option was set in the input message.
The
defaults are:
- DiscardNonPersistentInputMsg=no if SyncPointIfPersistent=no.
- DiscardNonPersistentInputMsg=yes if SyncPointIfPersistent=yes.
Note:
If SyncPointIfPersistent=yes
is set, DiscardNonPersistentInputMsg=no must not be set.
- DLQNonPersistentResponse=yes|no
- If the broker attempts to generate a response message in response to
a nonpersistent input message, and the response message cannot be delivered
to the reply-to queue, this attribute indicates whether the broker should
write the undeliverable response message to the dead-letter queue.
The
default is DLQNonPersistentResponse=yes.
- DiscardNonPersistentResponse=yes|no
- If the broker attempts to generate a response message in response to
a nonpersistent input message, and the response message cannot be delivered
to the reply-to queue or written to the dead-letter queue, this attribute
indicates whether the broker can discard the undeliverable response message.
The default is:
- DiscardNonPersistentResponse=no if SyncPointIfPersistent=no.
- DiscardNonPersistentResponse=yes if SyncPointIfPersistent=yes.
Note:
If SyncPointIfPersistent=yes
is set, DiscardNonPersistentResponse=no must not be set.
- DLQNonPersistentPublication=yes|no
- If the broker fails to send a nonpersistent publication to a subscriber,
this attribute indicates whether the broker should put the publication to
the dead-letter queue.
The default is DLQNonPersistentPublication=yes.
- DiscardNonPersistentPublication=yes|no
- If the broker fails to send a nonpersistent publication to a subscriber
and cannot write the publication to the dead-letter queue, this attribute
indicates whether the broker can discard the publication.
The default is:
- DiscardNonPersistentPublication=no if SyncPointIfPersistent=no.
- DiscardNonPersistentPublication=yes if SyncPointIfPersistent=yes.
Note:
If SyncPointIfPersistent=yes
is set, DiscardNonPersistentPublication=no must not be
set.
- GroupId=group_identifier
- Specifies the group that owns the stream queues created by the broker,
except the admin stream (for example, SYSTEM.BROKER.DEFAULT.STREAM). Users
in this group can access the stream queues. If this group does not exist,
the broker cannot run.
If not specified, the following defaults are used
(this normally means that all users can access the stream queues):
- AIX, Linux, and Solaris
-
- HP-UX
-
- iSeries
-
- Windows
-
Note:
For WebSphere MQ for Windows, the GroupId is
set to 'Users' or the national language equivalent.
- JmsStreamPrefix=JMS
- Identifies stream names. For example, stream names beginning with JMS
are restricted to JMS semantics.
The default is JMS.
You can use JMS characteristics to improve your broker performance.