Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How can I know the MAX Limited MQ storage Size ?

918 views
Skip to first unread message

Yen

unread,
Apr 26, 2002, 5:32:39 AM4/26/02
to
Dear ALL

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

yent...@sysware.com.tw


Jatin Zalavadia

unread,
Apr 26, 2002, 9:31:49 AM4/26/02
to
Check if you have messages in other queues that will also be counted for
the MSMQ disk storage and memory requirements. Working copy of all messages
in system queues including all journal queues, dead detter and xact dead
letter will also be in the memory.

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.

0 new messages