tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: Very slow HttpServletRequest.getLocalName()
Date Wed, 07 Jul 2010 16:36:51 GMT
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.
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  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
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

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:
For additional commands, e-mail:

View raw message