jmeter用1000个线程是建立1000个请求的keepalive吗,1000个线程循环20次是指每个线程内循环执行20次?

来源:4-8 分布式扩展后的性能压测

weixin_慕慕1188446

2021-03-24

老师,关于keepalive部分

  1. netstat -an | grep 192.168.1.5 | grep ESTABLISH 如何确定是用了keepalive,根据发出请求的端口也只能说明这个请求还没断开吧

  2. 课程视频上grep 192.168.1.5 | wc -l 在keepalive开启之前只有个位数,开启之后也是10位数,我本地代码配置与课程一样,开启和不开启都有300+,区别在于请求结束后,不开启keepalive会变成0,开启了会慢慢减直到变成0,但是时间超过了nginx配置的keepalive=30秒

  3. 是单个请求用到了keepalive吧,但是1000个线程应该对应1000个请求,循环20次,是循环开启了20 * 1000个线程,还是每个线程内循环请求了20次,总得算也应该是20 * 1000次请求,keepalive的效用提现在哪里呢

  4. 一直不理解,keepalive是保持连接,是保持客户端请求发出的端口和服务器连接,如何做到或者判定请求是从同一个端口发出呢,还是说只要nginx与server建立了keepalive连接,nginx发出的请求会一直复用这些连接,从连接池取出连接直接使用,甚至访问其它接口也是会复用这些连接?

  5. 基于第4点,如果是不同请求可以复用nginx与server已建立的连接,那么请求到nginx的客户端都会用到同一个连接,这个连接会因为接收不同客户端请求一直访问服务端,那么keepalive永远不会超时断开?

写回答

1回答

龙虾三少

2021-03-26

keepalive指的是http链接发送完后是立马断开还是保持连接给下一个http连接使用 和线程没有关系 单纯的nestat只能看到那个时候有链接 和是否keepalive和没有关系

0
0

聚焦Java性能优化 打造亿级流量秒杀系统(赠秒杀项目)

理解高流量电商网站性能构建思路 用高逼格技术解决性能提升问题

2174 学习 · 1009 问题

查看课程