我需要测量 Java 应用程序的 DNS 查找时间。我的想法是测量 InetAddress.getByName("myName") 的执行时间。我不确定这个调用是否被操作系统缓存。有人可以告诉我吗?
有没有更好的方法来做到这一点?
我需要测量 Java 应用程序的 DNS 查找时间。我的想法是测量 InetAddress.getByName("myName") 的执行时间。我不确定这个调用是否被操作系统缓存。有人可以告诉我吗?
有没有更好的方法来做到这一点?
关于缓存,InetAddress的 javadoc说:
The InetAddress class has a cache to store successful as well as unsuccessful host name resolutions.
因此,无论操作系统如何,Java 都会缓存结果。
继续阅读,您会看到可以指定修改默认缓存行为的 JVM 参数。