ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Getting rid of Hardware Clustering for my WB-IMB domain

Post new topic  Reply to topic
 Getting rid of Hardware Clustering for my WB-IMB domain « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Wed Dec 08, 2004 11:57 am    Post subject: Getting rid of Hardware Clustering for my WB-IMB domain Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

I guess what it all boils down to is the answer to this question: When does a Persistent message actually get written to the log or the queue file?

The bigger question is: Do I need to hardware cluster (using MSCS) my WB-IMB brokers that are in an MQSeries cluster? These are at 5.3.0.8, on Windows 2000 Advanced servers with SP4, running with Microsoft Cluster Services (MSCS) which provides High Availability. @ servers, running Active/Active.

The fact that they are part of MSCS makes life tougher from an admin perspective then if they were just 2 single machines in an MQ cluster. We are going thru the WB-IMB upgrade process now, and have gone thru MQ upgrades in the past as well, and that blasted MSCS makes the whole process 10 times more complicated. So I wonder, exactly what does this hardware clustering buy me, and if I weighed all the pros and cons, would it make sense to just have the WB-IMB brokers in a regular MQ Cluster and get rid of MSCS?

Here's how I see it. When things are working fine, the MQ clustering distributes the messages evenly between the 2 QMs. If one of the servers went down, MQ Clustering would send all the messages to the server that is still up. The customer does not see any degradation in performance. The one server has more than enough capacity to handle all the work.

Compare it to the situation where MSCS steps in and moves the Broker/QM from the dead server to the live server. Now I have 2 brokers on the same server competing for the same CPUs, so performance is not better. I got to Brokers running at 50% capacity versus 1 Broker running at 100%.

So what does this MSCS buy me? The only thing I can think of is if there is a Persistent message on the QM that goes down, and it meets some criteria, it will be available when the QM comes up on the second node. Two things about this. First, how often is there a message on a queue in WB-IMB, when everything is flowing fine? Second, when a message flies thru a flow, is it in a state where it will survive a QM restart?

All bets are off for non persistent messages. Lets just focus on persistent messages.

So the first one is easy to answer: Almost never. The brokers are so fast, that the input queues just don't back up. There is no queuing. Yes, there are some messages in CATCH and FAIL queues, but those are not needed usually right away, so who cares if they are on a QM that won't be back up for a while. We do use the MQGET node to hold Reply to Info, but those messages are only persistent if the application message is persistent. And again, everything is so fast, the amount of time a message sits on a queue is nil.

The second one is what I need help with. WB-IMB flows sit on the input queue with an outstanding Get With Wait. Between the time the channel drops a Persistent message onto the input queue, and the time the flow does its MQPUT on the output side, to a S.C.T.Q with an MCA with an outstanding Get With Wait, when is the persistent message ever written to the log and/or queue file so that it would survive a QM restart? The reason I ask is because of this quote from the IBM Tech Conference:
Quote:

"There is a Space Table kept to manage the space in the queue buffer and the queue file.

NP messages are stored in a shared memory buffer by preference. If the buffer overflows, they are written to the file system buffer but there is never a synchronous disk write for NP messages.

When a PUT happens, and the message is persistent, it will be allocated space in the queue file. If the message is non persistent, it will be allocated space in the queue buffer, or in the queue file if the buffer is full.

LOGS - If the message is persistent, there will normally be 1 log record written. If the message is not persistent, there is no write to the log record, even if the message spilled over to the queue file.

There is an exception to the rule of persistent messages being written to logs. If an app does an MQPUT outside of syncpoint to a queue where there is an MQGET waiting outside of syncpoint, the persistent message is passed thru in memory with no writes to the log.


If the space was allocated in the queue buffer, the message data is copied to the queue buffer. If the space was allocated to the queue file, the data will be written to the queue file via the file system buffer. If a log record is needed to record the update, it will be written before the message data is written to the queue file. If the message is put under syncpoint, neither write will by synchronous. A synchronous write to the log will be required when the transaction is committed or rolled back.


So, this brings me back to the real question whose answer will determine how much I lose by getting rid of MSCS for my WB-IMB MQ Clustered Queue Managers. It seems to me that it is a very rare event that a persistent message would survive a QM restart.

Note that is we did get rid of MSCS, it would free up some $$$ where we might be able to get a third broker on a third server. Now a message would be even less likely to be on a QM when it went down (1 in 3 chance versus a 1 in 2 chance).

What do you think? Get rid of Hardware Clustering for my WB-IMB domain, or I am underestimating its value?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Dec 08, 2004 12:07 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I believe all channel writes are in a syncpoint.

So if you do not have applications connecting directly to your broker QM, and you've got clustering providing workload balancing so you DON'T, then all messages PUT to local queues on your broker will be put in a syncpoint.

And thus all persistent messages will be written to the log file, and be recovered when the QM restarts.

Also, I highly doubt your flows are doing GETS outside of syncpoint. Even if you aren't globally coordinating your transactions, you'd have to manually go in and change the default transaction mode of your input nodes.

MSCS provides you the same benefits for brokers in clusters as it does for any other application - messages can't get stuck on a downed queue manager.

How likely is that going to happen? How likely is your network going to break, causing messages to stick on S.C.T.Q? How likely are your flows to break, causing messages to get stuck in retry, or get rolled back to backout queues?

How critical is it that all messages get processed in a timely manner - i.e., what's the cost of a message getting stuck?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Dec 08, 2004 12:18 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Jeff, all our flows are coded with the mode set to Automatic, so if the message is persistent, the Get is under sysncpoint.

But you ask the same questions I do, that is, how likely is a message to be stuck on a WB-IMB broker QM? I contend that it is not likely, but do admit it is possible. The question is how to quantify that.

If I did get rid of MSCS, what if I put the QMs log files onto a share drive in the SAN. If the server melts down, the log files are technically available on that share drive, no? Would it be possible to build a new QM, stop it, delete all its logs, copy in the logs from the original QM, and start the QM. Would the messages be available?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Dec 08, 2004 12:27 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

PeterPotkay wrote:
If I did get rid of MSCS, what if I put the QMs log files onto a share drive in the SAN. If the server melts down, the log files are technically available on that share drive, no? Would it be possible to build a new QM, stop it, delete all its logs, copy in the logs from the original QM, and start the QM. Would the messages be available?


Isn't that essentially what MSCS is doing for you now?

If you're not concerned about maintaining two brokers at all times, and it seems that you aren't, then don't put Broker in the MSCS failover group.

Just move the QM. That'll restore your messages, and you can manually process them. We're assuming here that there will be a relatively small number of them.

Or you could script something to move them to the other QM.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Dec 08, 2004 12:31 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Yes MSCS is doing that for us. But it makes the environment so complicated.

2 brokers on one server buy me nothing. 1 remaing broker will perform just as good (close enough anyway).

It comes down to stranded messages. You say "Just move the QM" What do you mean?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Dec 08, 2004 12:34 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I mean "Have MSCS fail over the queue manager, but NOT the broker".

I don't know if your manual procedure will work, and I'm pretty sure anything that involves "change the log files to a different set" will not be supported by IBM.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Dec 08, 2004 12:36 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Also, putting MQ logs on SAN can impact performance.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Dec 08, 2004 12:40 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Yeah, you're probably right.

Because of the risk of stranded messages, I fear that I will need to keep MSCS. I was hoping to demonstrate the fact that a stranded message in a WB-IMB broker is a rare occurance, but it does not seem to be the case if the server does go down.

There doesn't seem to be a way to insure non stranded messages without hardware clustering. I hate MSCS.........
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Dec 08, 2004 1:19 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

PeterPotkay wrote:
I hate MSCS.........


http://www.veritas.com/Products/www?c=systemreq&refId=20


_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Getting rid of Hardware Clustering for my WB-IMB domain
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.