• jmeter性能测试java.net.SocketTimeoutException: connect timed out,Read timed out


    java.net.SocketTimeoutException: connect timed out,Read timed out原因分析

     本人jmter API接口压测过程中,出现 java.net.SocketTimeoutException: Read timed out 报错

    具体排查过程:

    1. 首先排查jmeter到服务器的网络没有问题

    2. 因发起的压力测试时F5负载无权限查看,所以把API调用地址的负载均衡设置成了NGINiX继续查看,发现nginx报499错误.

       当时没明白499错误的原因,没有及时发现问题,查各种问题,499对应的是 “client has closed connection”,表示客户端主动关闭连接,

        (注:后来发现不是客户端主动关闭的原因,客户端主动端口请求连接时,NGINX 不会将该请求代理给上游服务,这个时候 access log 中会以 499 记录这个请求。)

    3. 上面说看到499误以为是客户端的问题,那么就开始排查jmter

       1)查看jmeter脚本设置的超时时间,已经设置到60s了,继续调大超时时间到100s仍然没卵用,

       2)排查jmeter java内存,发现java没存已经设置了5G,和内存没啥关系

    4. 用同样之前可以发送成功的报文,进行运行仍然报错

    5. 进行改接口下游接口进行压测时,可以发起压测成功,那么此时就考虑是这个接口的问题,要不是改接口的负载均衡有问题,要不是负载均衡下的服务器主机有问题n

        因压测系统是F5负载均衡我们无权限不方便查看,而且切换成NGINX负载均衡仍然有问题,大致排查是负载均衡的问题呢,那么下一步排查负载均衡对应的主机问题

    6. 查询该API接口负载均衡下的各个服务器主机情况,查看当前应用的LOG日志已经不打印,确认是是当前主机被挂起了。后重启主机后OK(后面排查出主机被挂起是因为数据库有锁冲突的原因)

    总结: 本人当前遇到的这个问题,不是jmeter自身的问题,而是服务器自身响应不过来相应的请求,需排查下游服务器的进行是否被挂起。

  • 相关阅读:
    Axure Base 10 动态面板滑动效果
    算法分析----第一节
    使用切片拦截Rest服务
    Java中Memcache的使用
    activitemq与spring的整合
    Android的Fragment中的互相通信-桥梁activity
    Android模拟微信主页面的Demo
    Android动态添加Fragment
    Android的Fragment的第一种声明方式
    Android使用内容提供者实现增删改查操作
  • 原文地址:https://www.cnblogs.com/huamei2008/p/8677016.html
Copyright © 2020-2023  润新知