5 Replies Latest reply on May 9, 2013 9:10 AM by jtyreman

    Java webservice Call - Performance Issue

      I am running a multi value database on SOLARIS 10 and have JDK 6 (Latest Patch) installed, the issue i am having it that when i initiate the below command that i have a huge delay before the java process starts and performs, can anyone shed any light on this please?


      java -jar /sanshare/java/PickToWebServiceAndBack_2.jar "https://wrpsoat:8002/soa-infra/services/default/GetARCustomerMasterTransactionWolcenAS/GetARCustomerMasterTransactionWolcenWS""GetARCustomerMasterTransactionWolcen""60000""<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:cus='http://something.co.uk/finsim/businessobjects/accountsreceivable/1.0/customerinvoicewolcenbim' xmlns:head='http:///enterprise/common/1.0/header' xmlns:cus1='http://something.co.uk/finsim/businessobjects/accountsreceivable/1.0/customerinvoicewolcenbio'> <soapenv:Header /> <soapenv:Body> <cus:CustomerMasterTransactionWolcenGetRq> <head:HeaderRq> <head:TransactionId></head:TransactionId> <head:ComponentId>1192121</head:ComponentId> <head:TransactionName>Wolcen_ARCustomerTransaction</head:TransactionName> <head:ServiceName>CallingWebService</head:ServiceName> <head:BatchId></head:BatchId> <head:Language>EN</head:Language> <head:FileName></head:FileName> <head:FilePath></head:FilePath> <head:Source>13</head:Source> <head:Target>1</head:Target> <head:HostName>machineName</head:HostName> <head:UserName></head:UserName> <head:UserRole></head:UserRole> <head:AdminEmail></head:AdminEmail> <head:ApplicationResponsibility></head:ApplicationResponsibility> <head:ControlFileFlag></head:ControlFileFlag> <head:EODFlag>Y</head:EODFlag> <head:TimeStamp>20130116T20:53:54</head:TimeStamp> </head:HeaderRq> <cus1:GetCustomerMasterRequest> <cus1:CustomerNumber>7023R02</cus1:CustomerNumber> <cus1:SessionID>16453_75234_aljt</cus1:SessionID> </cus1:GetCustomerMasterRequest> </cus:CustomerMasterTransactionWolcenGetRq> </soapenv:Body> </soapenv:Envelope>""""/sanshare/java/soalogs/""INET-|16453|75234927|1|SOA.DEBTORS.ACCOUNT"
        • 1. Re: Java webservice Call - Performance Issue
          Run your command under "truss" and see what's taking a long time:
          truss -f -a -vall -d -l -o /path/to/output/file java -jar /sanshare/java/....
          See the man page for "truss" to see what those options do. Inside the output file, you'll see a summary of all system calls your Java process makes, and importantly in this case a timestamp for when they returned, so you can see which ones took a long time.

          The problem could be on your web server side. Is the web server trying to do a reverse DNS lookup on the IP you're connecting from?
          1 person found this helpful
          • 2. Re: Java webservice Call - Performance Issue
            getting alot of errors that are similar to the below any idea what they mean, im not all that clued up on solaris so not sure what these mean:

            18590/1:     0.3983     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/lib/sparc/server/libc.so.1", 0xFFBFD8F8) Err#2 ENOENT
            18590/1:     0.3984     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/lib/sparc/libc.so.1", 0xFFBFD8F8) Err#2 ENOENT
            18590/1:     0.3985     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/../lib/sparc/libc.so.1", 0xFFBFD8F8) Err#2 ENOENT
            18590/1:     0.3986     stat64("/usr/ccs/lib/libc.so.1", 0xFFBFD8F8)     Err#2 ENOENT
            18590/1:     0.3987     stat64("/usr/local/lib/libc.so.1", 0xFFBFD8F8)     Err#2 ENOENT
            18590/1:     0.3988     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/lib/sparc/server/libc.so.1", 0xFFBFD8F8) Err#2 ENOENT
            18590/1:     0.3989     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/lib/sparc/libc.so.1", 0xFFBFD8F8) Err#2 ENOENT
            18590/1:     0.3990     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/../lib/sparc/libc.so.1", 0xFFBFD8F8) Err#2 ENOENT
            18590/1:     0.3991     stat64("/usr/ccs/lib/libc.so.1", 0xFFBFD8F8)     Err#2 ENOENT
            18590/1:     0.3991     stat64("/usr/local/lib/libc.so.1", 0xFFBFD8F8)     Err#2 ENOENT
            18590/1:     0.4025     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/lib/sparc/server/libmd.so.1", 0xFFBFD9C0) Err#2 ENOENT
            18590/1:     0.4029     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/lib/sparc/libmd.so.1", 0xFFBFD9C0) Err#2 ENOENT
            18590/1:     0.4031     stat64("/usr/jdk/instances/jdk1.6.0_38/jre/../lib/sparc/libmd.so.1", 0xFFBFD9C0) Err#2 ENOENT
            18590/1:     0.4032     stat64("/usr/ccs/lib/libmd.so.1", 0xFFBFD9C0)     Err#2 ENOENT
            18590/1:     0.4032     stat64("/usr/local/lib/libmd.so.1", 0xFFBFD9C0)     Err#2 ENOENT
            • 3. Re: Java webservice Call - Performance Issue
              What does it look like it's doing there?
              • 4. Re: Java webservice Call - Performance Issue

                still having issues with this, and everyone i ask seems to skirt the actual issue,

                anyway managed to find out what the issue is i think, just need to know what is causing it:

                i get the following loop in my truss output this accounts for around 6 seconds of time:

                lwp_cond_wait(0x0010AE48, 0x0010AE30, 0xD6EFFD40, 0) Err £62 ETIME
                condvar type: USYNC_THREAD
                mutex type: USYNC_THREAD
                timeout: 0.049996796 sec

                can anyone tell me what the above is doing, and if i can stop it from happening?
                • 5. Re: Java webservice Call - Performance Issue
                  Hello again,

                  still having this issue we have stood up an x86 version of Solaris 10 and it has run < 1Second however the solaris sparc version still runs in 20Secs + has anyone got any ideas why the JVM would run any slower on Solaris SPARC and has anyone got any hints on how to speed it up?

                  Many Thanks