日期:2014-05-18  浏览次数:20903 次

jdk1.5+httpclient4.3+WebService 速度很慢
weblogic9 sunjdk1.5环境用httpclient调用webservice莫名其妙的慢
原因可能是jdk将webservice地址中的IP当域名解析了一把,但是又没有解析到,就消耗了很多时间。

上面是一段网上找的资料

我实际遇到的问题是 jdk1.5+httpclient4.3访问一个WebService服务,发现一次调用要10秒左右
而换成jdk1.6其他都没有变化,一次调用在100毫秒左右(正常情况)

这个WebService服务通过ip发布的,没有对应的域名,所以个人觉得问题可能就是最上面说的那个,
问题是怎样改善这个情况,例如可以通过某些设置来使10秒的变成100毫秒左右而其他条件(jdk1.5)不用变化

多谢,在线等


------解决方案--------------------
你都没有DNS,何来解析一遍。时间肯定不是解析IP用掉的
------解决方案--------------------
HttpClient 4.3 requires Java 1.5 or newer

可以看到4.3是支持java1.5的。

你这个ip不知道是内网还是外网。

请求流程是这样的,先ip:port/webservice,先到你本地的hosts文件去找是否有ip和你请求ip一致的域名映射关系,如果有就直接访问本地的port,如果没有再去请求dns解析,访问外网的。

换成1.6比较快,可能就是性能提升的原因吧。