loadrunner_http长连接设置
最近协助同事解决了几个问题,也对loadrunner的一些设置加深了理解,关键是更加知其所以然。
1. loadrunner_internet运行时设置 总览:
2. 中文乱码_设置自动字符集转换
3.loadrunner_连接下载超时_tcp是否使用长连接设置
帮助文档中的说明:
随后在脚本中进行了不同的设置,进行了结果验证:
3.1 默认值:设置 Keep-Alive HTTP connections ---> Yes
在此设置情况下访问baidu首页,请求头如下图:
3.2 随后,修改 设置 Keep-Alive HTTP connections ---> No
在此设置情况下访问baidu首页,请求头如下图:
3.3通过对比,可以发现:
此设置生效了,而且是通过设置HTTP请求头中的参数实现的,和下述的文章所说相符。
4.至于tcp连接建立连接3次握手,关闭连接4次握手。有兴趣的可以验证下。
附TCP状态变化图:
下面列一些参考文章,感觉还是蛮有收获的。
HTTP长连接定义:
What is HTTP Persistent Connections?
HTTP persistent connections, also called HTTP keep-alive, or HTTP connection reuse, is the idea of using the same TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new one for every single request/response pair. Using persistent connections is very important for improving HTTP performance.
什么是HTTP长连接?
HTTP长连接,与一般每次发起http请求或响应都要建立一个tcp连接不同,http长连接利用同一个tcp连接处理多个http请求和响应,也叫HTTP keep-alive,或者http连接重用。使用http长连接可以提高http请求/响应的性能。
5.HTTP无状态协议和Connection:Keep-Alive容易犯的误区
http://liuzhigong.blog.163.com/blog/static/178272375201141344312315/
6. http长连接与短连接
http://www.cnblogs.com/Roberts/archive/2010/12/05/1986550.html
可以了解下常见的通信场景:
一、长连接与短连接:
长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。
这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。
短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。
此方式常用于一点对多点通讯。C/S通信。
二、长连接与短连接的操作过程:
短连接的操作步骤是:
建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接
长连接的操作步骤是:
建立连接——数据传输...(保持连接)...数据传输——关闭连接
三、长连接与短连接的使用时机:
长连接:短连接多用于操作频繁,点对点的通讯,而且连接数不能太多的情况。
每个TCP连接的建立都需要三次握手,每个TCP连接的断开要四次握手。
如果每次操作都要建立连接然后再操作的话处理速度会降低,所以每次操作
下次操作时直接发送数据就可以了,不用再建立TCP连接。例如:数据库的连接用长连接,
如果用短连接频繁的通信会造成socket错误,频繁的socket创建也是对资源的浪费。
短连接:web网站的http服务一般都用短连接。因为长连接对于服务器来说要耗费一定的资源。
像web网站这么频繁的成千上万甚至上亿客户端的连接用短连接更省一些资源。试想如果都用长连接,
而且同时用成千上万的用户,每个用户都占有一个连接的话,可想而知服务器的压力有多大。