Web Service HTTP1.0 and HTTP1.1性能测试报告

第1章 测试需求分析

1.1 测试目的

web service 分别采用HTTP1.1HTTP1.0作为传输协议的性能差异。

1.2 测试准备

1. 操作域模拟器一套。

2. HTTP1.1HTTP1.0测试脚本各一套。

第2章 测试场景设计

2.1 Web Service采用HTTP 1.0测试

2.1.1 测试目的

监控使用HTTP1.0作为传输协议时, 操作域模拟器的TPS, 响应时间。

2.1.2 测试步骤

LOADRUNNER并发用户数设定为20

2.1.3 测试结果输出

性能参数

最小值

平均值

最大值

TPS

107.538

285.307

311.563

响应时间 (s)

0.027

0.067

0.078



  

2.1Web Service Http 1.0

红色:响应时间

蓝色:TPS

2.2 Web Service 采用 HTTP 1.1测试

2.2.1 测试目的

监控在使用HTTP1.1作为传输协议后,操作域模拟器的响应时间,TPS

2.2.2 测试步骤

LOADRUNNER并发用户数设定为20

2.2.3 测试结果输出

性能参数

最小值

平均值

最大值

TPS

95.25

404.722

451.875

响应时间 (s)

0.009

0.040

0.045



  

2.2Web Service Http 1.1

红色:响应时间

蓝色:TPS

 

2.3 Web Service 采用 HTTP 1.1/HTTP 1.0混合测试

2.3.1 测试目的

监控在使用HTTP1.1作为传输协议后,操作域模拟器的响应时间,TPS

2.3.2 测试步骤

LOADRUNNER并发用户数设定为20

2.3.3 测试结果输出

性能参数

最小值

平均值

最大值

TPS

77.00

330.324

365.563

响应时间 (s)

0.010

0.045

0.055



  

2.3Web Service Http 1.1/Http 1.0混合测试)

红色:响应时间

蓝色:TPS

 

第3章 测试总结

Web Service 客户端如果采用HTTP1.1长连接作为连接方式,能明显减少创建SOCKET连接所需要的时间,显著提交了TPS和响应时间。

第4章 附录

4.1 AXIS客户端如何设置使用HTTP1.1

AXIS引擎通过使用CommonHTTPSender代替默认的HTTPSenderServiceLocator必须只实例化一次. 然后在所有stub中共用. 之所以如此是因为ServiceLocator管理着http connection的连接池, 它通过CommonsHTTPSender的引用管理着MultiThreadedHttpConnectionManager,实例程序代码片段请参照:

static {

private static SyncRoamingUser_ServiceLocator serviceLocator;

 

   EngineConfiguration defaultConfig = EngineConfigurationFactoryFinder

                     .newFactory().getClientEngineConfig();

 

    SimpleProvider config = new SimpleProvider(defaultConfig);

 

config.deployTransport(HTTPTransport.DEFAULT_TRANSPORT_NAME,

                            new CommonsHTTPSender());

 

serviceLocator = new SyncRoamingUser_ServiceLocator(config);//Only once.

 

4.2 AXIS客户端如何配置HTTP连接池参数

AXIS引擎通过设置AxisProperties的属性,来定义HTTP连接池的参数。HTTP连接池可配置参数见如下程序代码和注释:

// "Total Connections" Pool size

AxisProperties.setProperty(

    DefaultCommonsHTTPClientProperties.MAXIMUM_TOTAL_CONNECTIONS_PROPERTY_KEY,

    maxTotalConnections);

 

// "Connections per host" pool size

AxisProperties.setProperty(

    DefaultCommonsHTTPClientProperties.MAXIMUM_CONNECTIONS_PER_HOST_PROPERTY_KEY,

    maxConnectionsPerHost);

 

// max duration to wait for a connection from the pool

AxisProperties.setProperty(

    DefaultCommonsHTTPClientProperties.CONNECTION_POOL_TIMEOUT_KEY, connectionPoolTimeout);

 

// Timeout to establish connection in millis

AxisProperties.setProperty(

    DefaultCommonsHTTPClientProperties.CONNECTION_DEFAULT_CONNECTION_TIMEOUT_KEY, connectionTimeout);

 

// Timeout "waiting for data" (read timeout)

AxisProperties.setProperty(

    DefaultCommonsHTTPClientProperties.CONNECTION_DEFAULT_SO_TIMEOUT_KEY, soTimeout);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值