11.1.3 Message Queues and Messages
The Oracle Tuxedo system uses UNIX system messages and message queues for client/server communication. Examples of such messages are service requests, service replies, conversational messages, unsolicited notification messages, administrative messages, and transaction control messages.
Every Multiple Servers, Single Queue (MSSQ) set of servers and every individual server has a message queue for receiving requests. Every client has its own queue for receiving replies. Servers that specify theREPLYQ
parameter also get individual reply queues. The adjustment of kernel message parameters is important to the proper tuning of an application. Inappropriate values can lead to an inability to boot, or to severe performance degradation.
Several message queue parameters are available to define various characteristics of the queue space, as shown in the table below:
Table 11-2 Message Queue Parameters
Parameter | Description |
---|---|
MSGTQL |
Total number of outstanding messages that can be stored by the kernel. |
MSGMNB |
Total number of bytes that can be stored on one queue |
MSGMAX |
Maximum size of an individual message |
MSGSEG |
Total number of message segments that can be outstanding at one time |
MSGSSZ |
Size of each segment |
If the limit specified by any of these parameters is exceeded, then a blocking condition occurs. There is one exception to this rule: MSGMAX
. Messages that exceed 75 percent of MSGMNB
, or that are larger than MSGMAX
, are placed in a UNIX file. A very small message containing the file name is then sent to the recipient. Because this mode of operation results in a severe reduction in performance, we strongly recommend that you avoid it.
Parent topic: Parameter Sets Controlling IPC Resources