Author |
Message
|
JohnRodey |
Posted: Wed Nov 23, 2005 6:03 am Post subject: Persistence question |
|
|
 Centurion
Joined: 13 Apr 2005 Posts: 103
|
...Maybe this is a dumb question,
What is the maximum amount of storage that a queue with persistent messages can manage? Since persistent message are written to hard disk does that mean that a queue filled with persistent messages could hold X terabytes of data, X defined by the amount of memory you alot to your logging.
I assume no, I would imagine that queues can only store as much data as your main memory provides. Especially since queues can have both persistent and non-persistent message, I couldn't see a queue throwing a full exception for a non-persistent message and still letting through all persistent messages.
Anyone know for sure? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Nov 23, 2005 6:14 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Non persistant messages can be written to the queue file, as far as I know. They are only cached in memory for a period of time, as an optimization.
Queue files used to be limited to 2GB in size... they are now significantly larger, essentially as larger as your OS will allow.
The size of your log files limits the total size of all open transactions, not the total size of all messages in your queue manager. When persistant messages are committed, they are stored in the queue file, and the log entries that contain them are marked as closed. When a log file contains only closed entries, it is either marked for reuse (with circular logging) or set aside (with linear logging). Circular logging may not wait until an entire log file is full of closed transactions before overwriting parts of it (I'd be surprised if it did).
I could easily write an MQ application that would fill up an arbitrary sized disk, without stopping the queue manager - just by putting but not getting messages from a queue. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
JohnRodey |
Posted: Wed Nov 23, 2005 6:16 am Post subject: |
|
|
 Centurion
Joined: 13 Apr 2005 Posts: 103
|
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Nov 23, 2005 9:44 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
As tests, I have have put 20 GB of data to a single queue on a Windows server. All non persistent, all persistent, or a mix. In all cases, the q file grew to 20 GB. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
zpat |
Posted: Thu Nov 24, 2005 1:49 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
We have recently been putting fairly large messages (100kb) to a queue and ended up with a "damaged queue manager object" when the data size grew to about 10GB.
This was using a Windows QM - so I don't have that much faith in the robustness of NTFS with large files. It's amazing how often a chkdsk reveals errors in the file system. |
|
Back to top |
|
 |
hopsala |
Posted: Sat Nov 26, 2005 2:33 pm Post subject: |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
JohnRodey - Further info regarding your question may be found in WMQ TT \ Logging. An in-depth research of queue files is in "WMQ5.3 WinXP / Queue Files - Research".
A lot of reading, but it's worth it. |
|
Back to top |
|
 |
tingwen |
Posted: Wed May 10, 2006 11:34 am Post subject: |
|
|
Novice
Joined: 19 Aug 2005 Posts: 24
|
Can I persist message in RDBMS, instead of files on HD? If yes, where can I find more information for that? thanks
wen |
|
Back to top |
|
 |
wschutz |
Posted: Wed May 10, 2006 11:37 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Are you asking if you can have MQ use a database (db/2 oracle) instead of files in the file system? Me thinks the answer is NO. Why would you want to do this? _________________ -wayne |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed May 10, 2006 11:38 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Please don't respond to questions that are from last year.
Please attain a basic understand of MQ in the first place, before asking questions that are fully explained in the documentation.
Also, if you are trying to transition from Sonic to WebSphere MQ, then forget everything you know about Sonic first, and try to learn MQ on it's own merits. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|