1、关闭DNS和名字解析
* HostnameLookups on | off | double
2、关闭客户端主机名解析
Apache 1.3之前HostnameLookups默认是打开的。这样客户端在访问服务器时,服务器将要解析客户端的主机名,并将其保存在日志文件中。对客户端进行域名反向解析会大幅降低服务器速度,所以最好将其设置为Off。
HostnameLookups off
* UseCanonicalName on | off | dns
3、关闭多余模块
Apache采用了模块化设计,管理员可以有选择地加载一些模块来加强服务器的功能。这些模块,可以在创建服务器时静态编译到服务器的二进制代码中,也可以编译成一些独立服务器程序的Dynamic Shared Objects(DSO)文件,在Apache启动的时候根据需要,动态加载。事实证明,不加载多余的模块总是可以提高Apache的性能。
# pache的DSO模块是在httpd.conf中以: # LoadModule access_module modules/mod_access.so 注:当不需要某个模块时,只要在其前添加“#”,注释掉该行。 # 服务器端包含,是一种已经过时的技术。 mod_include.so: # 如果不希望Apache列目录显示,可以删除。 mod_autoindex.so: # 如果你不需要进行安全验证,也没有必要加载。 mod_access.so、mod_auth.so
mod_dir.so:
用于定义缺省文档index.php、index.jsp等。
mod_log_config.so:
用于定义记录文件格式。
mod_mime.so:
定义文件类型的关联。
4、取消.htaccess验证
除非你确定需要使用.htaccess文件来控制客户端对相应目录的访问权限,否则设置“AllowOverride None”,可以免除Apache在每个目录搜索.htaccess文件之苦。
AllowOverride None
5、取消符号链接
FollowSymLinks允许使用符号连接,这将使用浏览器有可能访问文档根目录(DocumentRoot)之外的内容,并且只有符号连接的目的与符号连接本身为同一用户所拥有时(SymLinksOwnerMatch),才允许访问,这个设置将增加一些安全性,但将耗费Apache大量的资源。
Options FollowSymLinks # 注:不要启用 SymLinksOwnerMatch
6、打开KeepAlive支持
在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求。从而避免对于同一个客户端需要打开不同的连接。很多请求通过同一个 TCP连接来发送,可以节约网络和系统资源。
KeepAlive on KeepAliveTimeout 15 MaxKeepAliveRequests 100
把MaxKeepAliveRequests设置的尽量大,可以在一次连接中进行更多的HTTP请求。但在我们的测试中还发现,把 MaxKeepAliveRequests设置成1000,则评测的客户端容易出现“Send requesttimed out”的错误,所以具体数值还要根据自己的情形来设置。