|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Perf on Multi-CPU |
« View previous topic :: View next topic » |
Author |
Message
|
dpchiesa |
Posted: Tue Jan 17, 2006 10:46 am Post subject: Perf on Multi-CPU |
|
|
 Apprentice
Joined: 29 May 2002 Posts: 46
|
Quote: |
I agree. Also interesting would be to run on server-class hardware, including multi-CPU, and a server OS (WS2003), and to run with different numbers of threads, and larger and more varied payload sizes, and etc.
|
I am now running some benchmark tests on a server-class machine; HP ProLiant DL380 4-way Xeon 3.2 Ghz. It is running Windows Server 2003 SP1, and MQ v6.0.
The weird thing, I am actually getting less throughput than I got on my single-CPU home PC (winXP sp2). Just to check my sanity, I built another benchmark that does not use MQ, just CPU and disk, and that one runs much faster on the server-class machine, as compared to my home PC, as expected.
A little perfmon exploration shows that with the MQ test, none of the server CPUs are getting above 25% or so, and % disk idle is near zero. So I am concluding this app is IO bound on the server machine.
A write cache on the disk would probably speed things up immensely. In fact the home PC has write cache enabled, but the disk controller on the server machine doesn't support it. (I need a battery backup to enable write cache on the server). Even without the write cache, though, something smells funny. Remember the non-MQ benchmark runs faster on the server machine, and it does plenty of IO.
I observed that the disk-transfers-per-second quantity appears to be limited to 250 for this controller; I see 250 when I run MQ client apps or when I run other apps. It appears to be a hard limit. Curious but not too surprising I guess.
Here's the strange thing: when I run the MQ client apps, I get around ~4500 bytes-per-transfer, and it stays nearly flat. Never varies more than 100 bytes or so.
But, when I run other apps I can see the bytes-per-transfer is up around 14000-17000, and it varies. In both cases, it's 250 transfers-per-second, but the bytes-per-transfer difference means much more net IO in the non-MQ case.
I've tried multiple LogFilePages settings (deleting and re-creating the QM each time) I've tried upping the number of log files, etc. Nothing seems to allow me to get the bytes-per-transfer number up.
Any ideas?
Does MQ internally place a limit on the number of bytes per disk write? And if so can I change that limit? Is the 4500 number correlated to the 4k logfile page size in MQ? Is that page size changeable? (I think it is not).
I am thinking that the transaction log is being forced with the commit of each transaction. Maybe that log force is equating to a disk write, of 1 page, plus a few more bytes or so. That would get it to 4500.
I'm going to do some additional experimentation and will let you all know what more I find. Maybe if I move to larger message sizes, the IO bytes-per-transfer will increase accordingly. This would allow me to take advantage of the full IO channel on the server.
For now I am interested in any suggestions y'all may have on how to tune MQ for better IO on Windows Server 2003, aside from the write cache idea.
Thanks. _________________ -dpchiesa |
|
Back to top |
|
 |
mvic |
Posted: Tue Jan 17, 2006 12:15 pm Post subject: Re: Perf on Multi-CPU |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
dpchiesa wrote: |
I am thinking that the transaction log is being forced with the commit of each transaction. Maybe that log force is equating to a disk write, of 1 page, plus a few more bytes or so. That would get it to 4500. |
Highly likely I would say, if you are doing a lot of persistent messaging and/or work within syncpoint.
If you want fast messaging, use non-persistent messages and no syncpoints - the disk will hardly be touched, if at all (as long as the messages are not large).
If you want highly-reliable messaging, use persistent messages and syncpoints, but expect MQ to write relatively often, and synchronously, to the disk.
To mitigate performance concerns with persistent messages, include as many persistent messages within a single syncpoint as your transactional rules will allow. Wherever possible, MQ delays disk writes until a syncpoint.
See also the performance SupportPacs : http://www.ibm.com/software/integration/support/supportpacs/category.html and search down through the page for "performance". |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue Jan 17, 2006 1:27 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Is Log Buffer Pages set to the max value of 4096? That will help a bit. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
dpchiesa |
Posted: Tue Jan 17, 2006 7:32 pm Post subject: |
|
|
 Apprentice
Joined: 29 May 2002 Posts: 46
|
Quote: |
Is Log Buffer Pages set to the max value of 4096? That will help a bit.
|
Hmm, no. I will try that too.
thanks! _________________ -dpchiesa |
|
Back to top |
|
 |
zpat |
Posted: Wed Jan 18, 2006 12:24 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Read the WMQ performance reports at the IBM support pac page. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|