Hey all,
We did a performance test to compare Axis2 and JBoss WS implementatioins with a simple string echo service.
@WebService
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public interface EchoService
{
@WebMethod
public String echo(String s);
}
@Local
public interface EchoServiceLocal extends EchoService {}
@Remote
public interface EchoServiceRemote extends EchoService {}
@Stateless
@WebService(endpointInterface="com.echo.EchoService")
@WebContext(contextRoot="/echosvc")
public class EchoServiceBean implements EchoServiceRemote, EchoServiceLocal
{
@Override
public String echo(String s) { return s; }
}
Test1
-----
Client: JBoss 4.2.3.GA client
Server: JBoss 4.2.3.GA
Throughput: 50 requests/second
Test2
-----
Client: JBoss 4.2.3.GA client
Server: JBoss 4.2.3.GA + Axis2 WAR (v1.4)
Throughput: 200 requests/second
Test3
-----
Client: Axis2 (v1.4) client (using ADB)
Server: JBoss 4.2.3.GA + Axis2 (using ADB)
Throughput: 400 requests/second
Test4
-----
Client: JBoss 4.2.3.GA client
Server: Tomcat (v6) + Axis2 WAR (v1.4)
Throughput: 400 requests/second
All tests run 10000 request in single thread on same computer running both client and server.
Java version: 1.6.0_06,Sun Microsystems Inc.
It seems the jbossws-3.0.1-native-2.0.4.GA (this is the default one in JBoss 4.2.3.GA) is the bottleneck.
Tried jbossws-native-3.0.2.GA (replaced jbossws-3.0.1-native-2.0.4.GA) in the same JBossAS, got same result.
Is there any configuration for JBossWS that is limiting performance?
Thanks for your input!