1

JavaアプリケーションからのDNSルックアップ時間を測定する必要があります。私の考えは、InetAddress.getByName( "myName")の実行時間を測定することです。この呼び出しがオペレーティングシステムによってキャッシュされているかどうかはわかりません。もしそうなら誰か教えてもらえますか?

それを行うためのより良い方法はありますか?

4

2 に答える 2

3

オペレーティング システムについてはわかりませんが、Java には独自の DNS キャッシュがあり、システム プロパティで設定できます。詳細については、このリンクを確認してください。

編集:

あなたのユースケースはDNS キャッシングを無効にすることを保証します。

于 2012-07-04T11:42:06.220 に答える
3

キャッシングに関して、InetAddressの javadoc は次のように述べています。

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

したがって、OS がどうであれ、Java は結果をキャッシュします。

読み進めると、デフォルトのキャッシュ動作を変更するために指定できる JVM 引数が表示されます。

于 2012-07-04T11:39:36.430 に答える