Pid wrote:
On 07/07/2010 15:08, mmg wrote:
Hello,
I've recently deployed an application on our Linux staging server; a Tomcat
5.5.28 server on Java 1.5.0_09-b01. At some point, the application makes a
call to request.getLocalName(). For some reason, this call takes a very long
time (about 20 seconds!). I profiled the application, and I see that tomcat
calls InetAddress.getHostName() in turn. This performs a reverse DNS lookup.
It's this reverse DNS lookup that takes so long (since our host doesn't have
a DNS address the resolve fails).
Is there a way to disable this reverse DNS lookup in Tomcat or is there
anything else I can do to speed this up?
It's nothing to do with Tomcat.
There are JVM settings which apply to networking & DNS lookups. You
might be affected by these, depending on your system configuration.
http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html
That is an interesting page per se, but I don't see anything there that seems related to
the inverse DNS lookup which the application seems to be triggering.
To complete my earlier suggestion of adding a corresponding line to /etc/hosts,
like
1.2.3.4 somename.localdomain
(replacing the first part by the real IP address of the host)
which will work if the system's resolver is configured (in /etc/nsswitch.conf) to look at
that file first.
But if it does not, there are more things you can do at the system level :
1) change nsswitch.conf to indeed do "files" first
OR
2) make the above change to /etc/hosts AND
run a local dnsmasq daemon (with the configuration options to have it read /etc/hosts) and
set /etc/resolv.conf to have this line first
nameserver 127.0.0.1
This last is a gain anyway in terms of efficiency, because dnsmasq will cache the resolved
entries and avoid further lookups into /etc/hosts (and other DNS lookups, such as if the
application is also doing client address lookups e.g.).
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org