suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java - Warum dauert die Ausführung dieses Codes gelegentlich 50–100 ms?

    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 ist eine 1.7-Umgebung und 1.6 wird für die Kompilierung verwendet.
Wenn man sich die Überwachung ansieht, kehren die meisten innerhalb von 0 bis 1 ms zurück, einige jedoch innerhalb von 50 bis 100 ms, und die QPS beträgt etwa 800.
Jetzt sind die Gründe wie CPU-Auslastung, Speicher, Netzwerkkarte usw. ausgeschlossen
Ich kann wirklich nicht herausfinden, warum es 50 ms erreichen kann. . . Bitte helfen Sie mir bei der Analyse

黄舟黄舟2732 Tage vor845

Antworte allen(1)Ich werde antworten

  • 欧阳克

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

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

    Antwort
    0
  • StornierenAntwort