本文简要介绍了几个优化 Apache 的技巧,在实战中十分有用。
• 升级 Apache 到最新版本,新版本往往包含性能提升和安全更新。
• 在 httpd.conf 中设置 "HostNameLookups off" 能避免针对每个访问者的 DNS 域名的反向查询。
• 对于繁忙的网站,在 httpd.conf 中设置 "MaxClients 230" 或者更高。这项设置让更多的 httpd 进程同时响应请求,并避免了处理器排队的情况发生。
• 采用另外一台服务器处理图片文件。
• 缺保您的 Web 页面和 CGI 页面采用了浏览器缓冲技术。具体的文章可以参考本站:采用 mod_gzip 加速 Zope 和 Apache
• 保持您的 Apache 苗条,编译那些仅仅需要的模块,在编译之前,修改 src/Configuration 文件,在那些不需要的模块之前用 # 号注释掉。
• 如果不需要流量日志,那么把 httpd.conf 中的 TransferLog 指向到 /dev/null/
• 除非你确定使用 .htaccess 文件来控制一些目录的权限,否则设置 "AllowOverride None" ,这样就免去 Apache 在每个目录搜索 .htaccess 文件的劳役之苦。
• 不要让不需要的后台进程运行。
• 千万不要把页面或者日志文件写到网络磁盘上,例如 NFS。
• 不要让 Apache (httpd) 运行于 inetd 模式。
• 不要让 X Windows 运行在你的 Web 服务器上,用 Ctrl-Alt-Backspace 关闭 X 。
• 避免使用 SSI tag。
• 在 CGI 脚本中:
• 文件 I/O:打开的文件数目越少越好。
• Shell 命令:采用全路径来调用 shell 命令。
• 如果你的网站主要以 CGI 来驱动,那么请使用 mod_perl。
• 在你的 Web 页面目录中,不要让文件数超过 1000 个,文件越多花费在定位上的时间也越多。
• 在 Web 服务器上的图片越少越好,保证每个图片都经由图片压缩器运行。
• 对你的网站做压力测试,建议采用 Apache 自带的 ab 命令来测试。
• 为了最好的性能,最好把网线拔掉,这样你的 Web 服务器就十分安全,而且负载马上降为 0。 |