背景
有时候我们作为client不知道服务器是否提供长连接,或者我们作为服务器不知道自己的长连接配置是否生效,该如何查看呢?我分享一种方法,经验之谈,工具是jmeter
服务器端不是长连接,客户端用长连接
我把tomcat maxkeepaliverequest参数设定为1,意思是只要接收一个请求就断开,相当于关闭了长连接。
request我勾选了keep alive
查看结果response显示
Connection:close,说明请求发送后,连接已经被关闭。说明服务器端不是长连接。
服务器端是长连接,客户端用长连接
maxkeepaliverequest=100,处理100个请求后才断开连接,这就是长连接
request同上,勾选keepalive
查看结果
发现并没显示“Connection:close”的字样,这就是长连接
结论
- 客户端发送长连接的方法:
在requestHeader中添加:Connection: keep-alive 字段。 - 查看结果是否保持长连接的方法,在reponse中查看Connection:close,表明是短连接。否则就是长连接。
- tomcat配置长连接的方法:tomcat8之后默认开启,默认参数如上。