Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119849
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2017-12-21 12:14
文章分类

全部博文(87)

文章存档

2015年(10)

2014年(2)

2013年(6)

2012年(69)

我的朋友

分类: Windows平台

2013-07-31 11:48:20

什么webbench会比loadrunner响应请求数多,经过周末查找发现,webbench不是,TCP的终止通过双方的四次握手实现,所以webbench比loadrnner效率高。正常浏览器是,1.建立tcp连接->web浏览器返回请求,http协议中发送请求信息->返回header信息,发送请求文档->返回数据,之后服务器会发送关闭请求并置换成time_wait。

 
 
这时loadrunner会在返回告知关闭信号并且握手结束,而webbench未能这么做而直接在第二次收到数据后直接关闭。所以,webbench比loadrunner会快。所以今后,在接口测试对其进行性能测试时,可以使用webbench,但是如果按照业务逻辑进行压力测试时,要用loadrunner来模拟正常的情况。
 

TCP的终止通过双方的四次握手实现。发起终止的一方执行主动关闭,响应的另一方执行被动关闭。

1. 发起方更改状态为FIN_WAIT_1,关闭应用程序进程,发出一个TCP的FIN段;
2. 接收方收到FIN段,返回一个带确认序号的ACK,同时向自己对应的进程发送一个文件结束符EOF,同时更改状态为CLOSE_WAIT,发起方接到ACK后状态更改为FIN_WAIT_2;
3. 接收方关闭应用程序进程,更改状态为LAST_ACK,并向对方发出一个TCP的FIN段;
4. 发起方接到FIN后状态更改为TIME_WAIT,并发出这个FIN的ACK确认。ACK发送成功后(2MSL内)双方TCP状态变为CLOSED。

阅读(1206) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~