Question?? I need powerful help
How can I know the MAX Limited MQ storage Size ?
I read the MSMQ specification, but it only pointed for the min size
calculating.
ex: (1k(Body)+ 190 (MQ data) ) * items = mini size for RAM
When I implemented it, I met a crazy problem that overload and happened
error message and no responsing.
Following was my test
Hardware: Win 2000 Prof RAM 128, Free DISK Space: 500M 以上, VMEM (min):
192, VMEN(MAX):300
While the error happened, the total MQ packages number was 1278235 items.
Error code is "-1072824281, no resource, Couldn't run the item"
As the description on MQ while paper, the min RAM will be (566+190) *
1278235 = 921M Byte
As the description on MQ while paper, MQ will swap the files from MQ to HDD,
exactly, but never describe the Overload situation.
Could you tell me how to caculating the MAX size befor MQ Overload ? I have
to do a handle mechanism for it.
Very Sincerely !!
Yen
To verify the storage size limit, check the MSMQ\Storage directory property.
Also total bytes in all queues can be verified by using Performance
counter. Select MSMQ Service
performance object and Total bytes in all queues counter to verify the
total bytes in all queues
handled by MSMQ service.
The following information is from the help files and white papers that you
may already have,
MSMQ memory consideration:
---------------------------------------------
Recoverable messages are always written to disk, so that MSMQ can recover
them in the event of a machine failure, and express messages are kept
entirely in RAM memory while awaiting routing and delivery. In both cases,
however, working copies of messages are kept in RAM memory. MSMQ only
accesses disk-based copies of recoverable messages in the event of a
failure. When RAM memory is exhausted, Windows 2000 has to swap memory
pages out to disk, which degrades performance.
The size of a message is the sum of the size of the message body and the
size of the data
kept in the message header. Minimal message headers contain approximately
190 bytes of data,
although the actual size of a given header is dependent on the number and
size of the properties
used by the application. Therefore, when sending 20,000 messages of 1
kilobyte (KB) each with
typical headers, it would be best to have at least 23.8 megabytes (MB)
(20,000 X 1 KB + 20,000 X
190) of available RAM beyond minimal system requirements. Note that this
recommendation only
applies to cases in which messages actually accumulate on a machine. If
messages are normally
dequeued and processed as quickly as they are delivered, significantly less
RAM will be required.
RAM calculation mentioned above is addition to RAM beyond minimal system
requirements
The above total storage size and RAM requirement includes all the messages
on the queue including
system queue i.e. outgoing queue, journal queues, dead letter queue, xact
dead letter queue.
MSMQ Storage Directory Size consideration:
-------------------------------------------------------------------
For MSMQ3.0:
The theoretical message storage capacity of a computer is limited by the
amount of RAM, the total
disk storage capacity, the number of accumulated messages currently stored
in the computer, and
the version of Message Queuing running on the computer. In terms of the
number of messages
stored, the limit for a computer running the current version of Message
Queuing with more than
512 MB of RAM is about 5 million messages. At the same time, the maximum
disk space allocated for
a single message is 4 MB. Multiplying the maximum number of messages stored
by the maximum
storage size of a single message reveals that the theoretical maximum
number of bytes that can be
stored on a single computer can exceed 1 terabyte.
For MSMQ2.0 and MSMQ1.0:
Message Queuing servers and independent clients can store a maximum of
approximately 1.6 GB to
1.8 GB of messages on a computer. For Message Queuing servers supporting
multiple dependent
clients, this limit applies to the server, since dependent clients do not
store messages locally.
For example, a Message Queuing server supporting three dependent clients
can hold no more than
1.8 GB of messages for the three dependent clients.
For computers running Windows 2000 Advanced Server, a maximum of
approximately 2.6 GB to 2.8 GB
of messages can be currently stored on a computer.
When running on Windows 95, MSMQ independent clients can store close to 1
GB of messages.
Specifically, MSMQ independent clients can store 1 GB of messages minus the
memory consumed by
the overhead of storing the message and the memory of other applications
using the shared system
memory.
Jatin Zalavadia
This posting is provided "AS IS" with no warranties, and confers no rights.