Runtime Configuration Issues
HostnameLookups
Prior to Apache 1.3,
HostnameLookups
defaulted to
On. This adds latency to every request, because it
requires a DNS lookup to complete before the request is finished. In
Apache 1.3, this setting defaults to Off. However
(1.3 or later), if you use any allow
from
domain or
deny
from
domain directives, then you will pay for a double
reverse DNS lookup (a reverse, followed by a forward to make sure
that the reverse is not being spoofed). So for the highest
performance, avoid using these directives (it’s fine to use IP
addresses rather than domain names).
Note that it’s possible to scope the directives, such as within
a <Location
/server-status> section. In this case, the DNS
lookups are only performed on requests matching the criteria.
Here’s an example which disables lookups except for
.html and .cgi files:
HostnameLookups off
<Files ~ "\.(html|cgi)$>
HostnameLookups on
</Files>Still, if you just need DNS names in some CGIs, you could consider
doing the gethostbyname call in the specific CGIs
that need it.
FollowSymLinks and SymLinksIfOwnerMatch
Wherever in your URL-space you do not have an Options FollowSymLinks
, or you do have an Options SymLinksIfOwnerMatch
, Apache will have to issue
extra system calls to check up on symlinks—one extra call per
filename component. For example, if you had:
DocumentRoot /www/htdocs
<Directory />
Options SymLinksIfOwnerMatch
</Directory>and a request is made for the URI /index.html, then Apache will perform ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access