aspose file tools*
The moose likes EJB and other Java EE Technologies and the fly likes JMS application is slow Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "JMS application is slow" Watch "JMS application is slow" New topic
Author

JMS application is slow

Gagan Tiwari
Ranch Hand

Joined: Jun 10, 2008
Posts: 73
Hi All,
I am facing avery typical scenario.
We have two boxes, one for the DEV and other for the UAT.
Now on the Dev Box (LINUX and MQ) I have a sample program which is able to push N number of messages on the MQ (The communication is via the connection Factory)
However on the UAT box which is a very high end machine we are able to push N/2 messages per second with the same set of all the configuration.

Request you to kindly advise on the same.

OS: Linux 2.6.18-194.32.1.el5 #1 SMP Mon Dec 20 10:52:42 EST 2010 x86_64 x86_64 x86_64 GNU/Linux (Both DEV and UAT)
JAVA : java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode) {For both DEV and UAT}

The only diffrence in the Hardware is the extra layer of VCFS - veritas common file system in UAT Machine

Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31085
    
163

Gagan,
You'll need to do some performance research on the UAT machine. Places to start:
  • Is the box stressed from running other things? Check CPU, I/O, etc.
  • What is the bottleneck? Could it be another part of your code and the MQ part is just the symptom?


  • [Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
    Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
    Gagan Tiwari
    Ranch Hand

    Joined: Jun 10, 2008
    Posts: 73
    many thanks for the reply here are the things as you suggested
    1. The UAT box is having nothing apart from our application, the CPU and I/O are also fine.
    2. The Code is the simplest of the Java Code which just reads the XML and puts it in the MQ.


    Is there anything in MQ by which we can check, may be some command or any files (whih MQ generates )
    David Garratt
    Ranch Hand

    Joined: Aug 08, 2003
    Posts: 198

    How about network differences ?
    Gagan Tiwari
    Ranch Hand

    Joined: Jun 10, 2008
    Posts: 73
    Can you please elaborat eon what we need to check on the Network diffrence?
    David Garratt
    Ranch Hand

    Joined: Aug 08, 2003
    Posts: 198

    If you posting messages to a remote queue via a local alias then the speed at which the data can be put into the queue might be effected by the speed of the connection between the 2 machines. Or if there destination is different (dev and test) then this might also be a factor. Finally - I recall that queues can be setup differently in MQ - you can specify how resilient they are to be - can't remember the exact term it uses, but for the sake of argument lets suppose the dev environment has been setup so that it's using MQ in a non-fault tolerant manner and testing is done with a queue in safe fault tolerant mode - it could have an impact.
    Gagan Tiwari
    Ranch Hand

    Joined: Jun 10, 2008
    Posts: 73
    Hi David,
    Many thanks for the prompt response.

    Let me just elaborate a bit more on the same

    1. Machine1. We are able to put X message per second on the QUEUE. This Queue is local to the Queue Manager.
    2. Machine2. Same step done on machine 2, queue is also the Local Queue of the QueueManager, the rate is X/2.

    We are just PUTTING THE MESSAGE on the Queue, nothing else.

    Regarding the Machine1 and Machine2 both are having independent QueueManagers.

    Also the Details of the BOX are as follows (Both are same)
    1. MQ Version
    Name: WebSphere MQ
    Version: 7.0.1.3
    CMVC level: p701-103-100813
    BuildType: IKAP - (Production)

    2. Operating System
    Linux gcfxstpora1ffu 2.6.18-194.32.1.el5 #1 SMP Mon Dec 20 10:52:42 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

    3. Java Version
    java version "1.6.0_22"
    Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
    Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)



    Gagan Tiwari
    Ranch Hand

    Joined: Jun 10, 2008
    Posts: 73
    We analyzed the logs and found that we are hhaving the below process extra in Machine2 (Where the speed is slow)

    14:57:08.562922 24832.3 SHCON:000003 -----{ xcsConvertString
    14:57:08.562934 24832.3 SHCON:000003 fromCCSID:1208 toCCSID:819, in length:4, out length:4 options: 00005001
    14:57:08.562937 24832.3 SHCON:000003 ------{ xcsQueryCCSIDType
    14:57:08.562940 24832.3 SHCON:000003 ------} xcsQueryCCSIDType rc=OK
    14:57:08.562942 24832.3 SHCON:000003 ------{ xcsQueryCCSIDType
    14:57:08.562944 24832.3 SHCON:000003 ------} xcsQueryCCSIDType rc=OK
    14:57:08.562947 24832.3 SHCON:000003 translated out length:4
    14:57:08.562949 24832.3 SHCON:000003 -----} xcsConvertString rc=OK

    Any idea, kindly let me know
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: JMS application is slow