首页  >  问答  >  正文

java - 为什么这段代码执行偶尔能够达到50~100ms?

    for(Map.Entry<String, String> entry : map.entrySet()) { //map 最多2个key-value对
        Request request = new Request();

        ClientInfo clientInfo = new ClientInfo(clientid, host, ip);

        String value = entry.getValue();
        RealInfo realInfo = new RealInfo(clientId, value , clientInfo);
        request.realInfo = realInfo ;

        concurrentLinkedQueue.add(request);
    }
}

jre是1.7环境,编译使用的是1.6。
看监控绝大多数在0~1ms内返回,但有部分是50~100ms才返回,qps大概是800。
现在已经排除了CPU load,内存,网卡等原因
我实在想不通为什么能够打到50ms。。。请大家帮我分析下

黄舟黄舟2636 天前765

全部回复(1)我来回复

  • 欧阳克

    欧阳克2017-07-03 11:45:18

    有可能是数据库连接的问题 ip参数变了以后 是否数据库会有什么处理出现了这个延迟,以前碰见过类似问题,后来发现是数据库的问题

    回复
    0
  • 取消回复