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 » IBM MQ API Support » Perf on Multi-CPU

Post new topic  Reply to topic
 Perf on Multi-CPU « View previous topic :: View next topic » 
Author Message
dpchiesa
PostPosted: Tue Jan 17, 2006 10:46 am    Post subject: Perf on Multi-CPU Reply with quote

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
View user's profile Send private message
mvic
PostPosted: Tue Jan 17, 2006 12:15 pm    Post subject: Re: Perf on Multi-CPU Reply with quote

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
View user's profile Send private message
PeterPotkay
PostPosted: Tue Jan 17, 2006 1:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
dpchiesa
PostPosted: Tue Jan 17, 2006 7:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
zpat
PostPosted: Wed Jan 18, 2006 12:24 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Read the WMQ performance reports at the IBM support pac page.
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 » IBM MQ API Support » Perf on Multi-CPU
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.