使用java测量DNS查找时间

时间:2012-07-04 11:31:28

标签: java sockets networking

我需要测量java应用程序的DNS查找时间。我的想法是测量InetAddress.getByName(“myName”)的执行时间。我不确定的是这个调用是否由操作系统缓存。任何人都可以这样告诉我吗?

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:2)

关于缓存,InetAddress的javadoc表示:

The InetAddress class has a cache to store successful as well as unsuccessful host name resolutions. 

因此无论操作系统如何,Java都会缓存结果。

继续阅读,您可以看到可以指定的JVM参数来修改默认的缓存行为。

答案 1 :(得分:2)

我不确定操作系统,但 Java有自己的DNS缓存,可以通过系统属性进行配置。请查看this link了解详情。

编辑:

您的使用案例保证disable DNS caching