Author |
Message
|
atheek |
Posted: Thu Jul 31, 2008 5:27 pm Post subject: Queue Size and Log Size |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
Hi All,
Environment : Win2K3.
The current log settings we have is:
LogType = Circular
LogPrimaryFiles = 10 and LogSecondaryFiles = 5
LogFilePages=256
So we have about 10 MB of primary log space available.
We have an application that "incorrectly" uses MQ as a database. I could see around 25000 persistent messages pending in a local queue used by this application alone.I checked the queue file size of this and it comes around 201 mb
We have other applications which uses different queues and almost all of them deal with persistent messages.
Everything is working fine with 10 MB of log space. If persistent messages are written to log file also beside the queue file to survive crash, how come 10 MB circular log is sufficent for these 200 MB of messages.
Please let me know if I am missing something
TIA
-Atheek |
|
Back to top |
|
 |
gbaddeley |
Posted: Thu Jul 31, 2008 6:06 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
The logs only provide recovery of persistent messages if an uexpected failure occurs while a Unit Of Work is in progress (ie. MQ syncpoint).
Long running UOW is a classic reason why circular logs fill up. _________________ Glenn |
|
Back to top |
|
 |
atheek |
Posted: Thu Jul 31, 2008 7:40 pm Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
|
Back to top |
|
 |
gbaddeley |
Posted: Sat Aug 02, 2008 8:56 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Persistent messages are written to the logs, but as soon as the UOW completes, the space on the logs is no longer needed for recovery. When the circular logs wrap around, the log space will be overwritten by some other message(s). _________________ Glenn |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Aug 03, 2008 12:32 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Don't forget that persistent messages on a queue are only on the logs when you use linear logging (media recovery). With circular logging only persistent messages in a UOW in flight are in the logs (limited to transaction recovery). Messages (in a getable state) sitting on a queue just waiting to be consumed are not in any transaction, so they are not recorded by circular logging. What gets recorded is the putting operation and the getting operation, if under syncpoint. However as soon as the putting operation is done the log is ready to be freed and overwritten....
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
atheek |
Posted: Sun Aug 03, 2008 2:36 pm Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
thanks for the replies..now i am much more clearer
also...wht about persistent messages that are not put under syncpoint? i think those will be recorded for linear logging, but not for circular...also non persistent messages are not recorded in logs (linear or circular) either under syncpoint or not.....is tht correct? |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue Aug 05, 2008 11:34 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Thats why I wrote in that thread:
"Create a QM with circular logs of 10MB in total. Now go ahead and put 5GB of persistent messages into that QM that has only 10MB of circular logs."
All persistent messages get written to the circular log. Its just that they get consantly overwritten as the circualr log, well, circles. Its only when you have outstanding UOW keeping a log open do you risk running into space issues with circular logging. But have you done the math lately with MQ 6.0 and 7.0's increased log sizes? Your circular log space can be HUGE. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|