java 发个 http 请求为什么那么慢

本贴最后更新于 1236 天前,其中的信息可能已经时移世改

我用 java 的原生代码发 http 请求 ,内网机器的一个 10k 的 common.js

这代码没问题吗?

public static String sendGet(String url, String param) {  
   String result = "";  
   BufferedReader in = null;  
   try {  
       String urlNameString = url + "?" \+ param;  
       URL realUrl = new URL(urlNameString);  
       URLConnection connection = realUrl.openConnection();  
       connection.connect();  
       in = new BufferedReader(new InputStreamReader(  
               connection.getInputStream()));  
       String line;  
       while ((line = in.readLine()) != null) {  
           result += line;  
       }  
   } catch (Exception e) {  
       System.out.println("发送GET请求出现异常!" \+ e);  
       e.printStackTrace();  
   }  
   finally {  
       try {  
           if (in != null) {  
               in.close();  
           }  
       } catch (Exception e2) {  
           e2.printStackTrace();  
       }  
   }  
   return result;  
}

竟然用了 70-80ms?,可怕的是用 httpclient 竟然要 160-170ms??

反手用 nodjes 写了一个

var d1 = new Date();  
  
var req = http.request(options, function (res) {  
    res.on('data', function (chunk) {  
        console.log('BODY: ' \+ chunk);  
        console.log(new Date().getTime()-d1.getTime())  
    });  
});  
req.on('error', function (e) {  
    console.log('problem with request: ' \+ e.message);  
});

平均 15-20ms

难道是我要去优化 JDK 参数?

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3012 引用 • 8158 回帖 • 548 关注
  • HTTP
    72 引用 • 127 回帖 • 1 关注
  • 性能
    60 引用 • 178 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    3354 引用 • 16936 回帖 • 487 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • flowaters

    运行 100 次试试

  • 其他回帖
  • qq2914756615

    多次运行会好点

  • 88250
    订阅者

    golang 可能更快 😂

    2 回复
  • linker

    性能测试不是这么玩的。

  • 查看全部回帖