aspose file tools*
The moose likes Web Services and the fly likes Web Service Performance Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Web Service Performance" Watch "Web Service Performance" New topic
Author

Web Service Performance

Steve Wink
Ranch Hand

Joined: May 13, 2002
Posts: 223
I'm adding a web service client call to an application I have. Without the web service the application processes 71 transactions / second on my laptop, whereas with the web services added I can only get 15 transactions /second. I also notice that every now and then my application pauses when it has the web service added, in a similar manner to a Java app garbage collecting. In between these pauses it seems to run fairly fast.

I'm running this under WAS 6.1 using JAX-WS with HTTP as the web service transport. The Web Service provider is a dummy one - it does no serious processing so that is not the bottleneck.

I've got a few questions.

1. Have people found that JAX-WS on WebSphere is fast? Is it scalable? Or is there a performance ceiling that you hit? Without the web service the app is clusterable and scales pretty well.
2. What might be causing the pauses - might my application be waiting for ports to become free or something - there currently isn't pooling of SOAP dispatch objects or service objects, so I don't know how WAS might be handling pooling. Or is this a red herring?
3. Might using JMS as the transport help things?

Any advice is welcome.
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
How many transactions per second is required? Is 15 per second acceptable?

Explain what you mean by "the Web Service provider is a dummy one".

Is the web service call synchronous or asynchronous?

In general, with XML-based web services, there is significant overhead stemming from processing the XML-based data, e.g. parsing, unmarshalling, etc.
Steve Wink
Ranch Hand

Joined: May 13, 2002
Posts: 223
Originally posted by James Clark:
How many transactions per second is required? Is 15 per second acceptable?

Explain what you mean by "the Web Service provider is a dummy one".

Is the web service call synchronous or asynchronous?

In general, with XML-based web services, there is significant overhead stemming from processing the XML-based data, e.g. parsing, unmarshalling, etc.


In a clustered environment, hundreds of transactions per second will be required, so the solution has to be scalable.

By 'dummy' I mean that the web service provider simply returns a hard coded response rather than doing any CPU/IO intensive operation, so that it unlikely to be holding things up. Stub may be a better description.

The web service call is synchronous.

"In general, with XML-based web services, there is significant overhead stemming from processing the XML-based data, e.g. parsing, unmarshalling, etc."

If the parsing, unmarshalling etc is the problem then putting the app on more CPUs should solve the problem, and that is likely to be my next stop.
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12806
    
    5
Without the web service the application processes 71 transactions / second on my laptop, whereas with the web services added I can only get 15 transactions /second.


How many Threads does the application devote to web service requests?

How large and complex is the typical request? It sounds like request construction and response parsing is your real time consumer.

Bill
 
Consider Paul's rocket mass heater.
 
subject: Web Service Performance