Rumah  >  Soal Jawab  >  teks badan

java - Mengapa pelaksanaan kod ini kadang-kadang mencapai 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 ialah persekitaran 1.7, dan 1.6 digunakan untuk kompilasi.
Melihat pada pemantauan, kebanyakan mereka kembali dalam 0~1ms, tetapi sebahagian daripada mereka kembali dalam 50~100ms, dan qps adalah kira-kira 800.
Sekarang sebab seperti beban CPU, memori, kad rangkaian, dan lain-lain telah diketepikan
Saya benar-benar tidak dapat memahami mengapa ia boleh mencapai 50ms. . . Tolong bantu saya menganalisisnya

黄舟黄舟2687 hari yang lalu806

membalas semua(1)saya akan balas

  • 欧阳克

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

    Mungkin masalah dengan sambungan pangkalan data Selepas parameter IP ditukar, adakah terdapat sebarang pemprosesan dalam pangkalan data yang menyebabkan kelewatan ini saya pernah mengalami masalah yang sama sebelum ini, tetapi kemudiannya mendapati ia adalah masalah dengan pangkalan data

    balas
    0
  • Batalbalas