核心优化方法概览:
-
- 启用 HTTP Keep-Alive (保持连接): 提升约 15~20% 速度。
-
- 关闭网站访问日志: 提升约 5~8% 速度。
-
- 避免使用“高(独立)”应用模式: 避免损失约 20% 速度。
-
- 增加 ASP 脚本缓存数量: 让动态网页响应更快。
-
- 避免使用 CGI 程序: 选择更高效的替代方案。
-
- 增加 CPU 数量 (IIS 5.0 有效): 获得接近线性的性能提升。
-
- 关闭 ASP 调试功能: 释放宝贵的 CPU 资源。
-
- 启用静态文件 HTTP 压缩: 减少约 20% 的网页传输量。
详细说明与操作指南:
1. 启用 HTTP Keep-Alive (保持连接) - 让连接“不断线”
原理: 想象每次你浏览网站上的不同页面,服务器都要和你“重新握手”建立新连接,这很费时间。启用 Keep-Alive 就像让服务器和你的浏览器保持“通话”状态,浏览同一个网站的不同页面时,不需要反复“握手”,大大减少了等待时间。直到你关闭浏览器,“通话”才结束。 效果: 大约能提速 15-20%。 如何设置 (基于 IIS 管理器通用界面):
-
- 打开 “Internet 信息服务 (IIS) 管理器” (在 Windows 开始菜单搜索即可找到)。
-
- 在左侧连接树中,选择你要优化的对象:
-
- 整个服务器 (最顶层的计算机名):影响所有网站。
-
- 单个网站:只影响这个网站。
-
- 在中间的功能视图或右侧“操作”窗格中,找到并点击 “高级设置”。
-
- 在弹出的“高级设置”窗口中,找到 “连接” 或 “HTTP 设置” 相关的部分。
-
- 将 “启用 HTTP Keep-Alive” 或 “保持 HTTP 连接” 选项设置为 True。
-
- 点击 “确定” 保存。 (小提示:不同 IIS 版本界面位置略有差异,找“连接”、“HTTP”或“行为”相关设置即可)
2. 关闭网站访问日志 - 减少“写日记”的开销
原理: IIS 默认会把谁访问了网站、访问了什么页面等信息记录下来(就像写日记)。虽然这对分析有用,但每次访问都要“写日记”会消耗服务器的磁盘读写能力。关闭日志,就省下了这部分力气,服务器能更快地处理实际的网页请求。 效果: 大约能提速 5-8%。 如何关闭:
-
- 打开 IIS 管理器。
-
- 在左侧连接树中,选择目标对象(服务器、网站或应用)。
-
- 在中间功能视图中,找到并双击 “日志” 图标。
-
- 在日志设置页面,直接取消勾选 “启用日志” 选项。
-
- 点击右侧“操作”窗格中的 “应用” 保存设置。
3. 避免使用“高(独立)”应用模式 - 让应用“共享房间”
原理: IIS 可以给每个网站或应用分配一个“独立房间”(进程)运行,这样如果一个应用出问题崩溃,不会影响其他应用或服务器本身(安全性好)。但创建和管理这么多“独立房间”开销很大!让应用在“共享房间”(IIS 主进程或共享的工作进程池)里运行,管理起来就轻松多了,速度自然更快。代价是如果一个应用崩溃,可能会影响同“房间”的其他应用。 效果: 使用“独立”模式会比“共享”模式慢大约 20%。 如何设置 (使用共享模式):
-
- 打开 IIS 管理器。
-
- 在左侧连接树中,选择目标网站或应用的起始目录。
-
- 在右侧“操作”窗格中,点击 “基本设置...”。
-
- 在“编辑网站”或“编辑应用程序”窗口中,点击 “应用程序池” 旁边的选择按钮。
-
- 在弹出的“选择应用程序池”窗口中:
- 选择一个预先存在的、共享的应用程序池 (如 DefaultAppPool)。这些池通常配置为多个应用共享工作进程。
- 避免选择标记为“高隔离”或为单一应用专用的池。
-
- 点击 “确定” 保存更改。(核心思想:让多个网站/应用共享同一个工作进程池,减少独立进程的开销)
4. 增加 ASP 脚本缓存数量 - 给“常用工具”准备更多“快捷方式”
原理: IIS 执行 ASP 网页(.asp 文件)时,需要先把代码“翻译”(编译)成服务器能懂的语言。第一次访问某个 ASP 页面时,这个“翻译”过程比较慢。IIS 很聪明,它会把“翻译”好的结果保存在内存(缓存)里。下次再访问同一个页面,就直接用内存里的“翻译稿”,速度快多了!增加缓存数量,意味着 IIS 能在内存里保存更多页面的“翻译稿”,用户访问时就能更快地找到现成的结果,尤其适合访问量大的网站。 效果: 显著提高 ASP 页面的响应速度。 如何设置 (此设置在 IIS 5.0/6.0 较常见,新版本机制不同):
-
- 打开 IIS 管理器。
-
- 在左侧连接树中,选择服务器节点 (最顶层)。
-
- 在中间功能视图中,找到并打开 “ASP” 功能。
-
- 展开 “缓存属性” 部分。
-
- 找到 “脚本文件缓存数量” (scriptFileCacheSize) 选项。
-
- 增大这个数值 (例如从默认的 500 改为 1000 或更高,根据服务器内存大小调整)。数值越大,能缓存的 ASP 页面越多。
-
- 点击右侧“操作”窗格中的 “应用” 保存。(注意:新版本 IIS (7+) 使用不同的缓存机制,此设置可能不适用或位置不同,需查对应版本文档)
5. 避免使用 CGI 程序 - 选择更高效的“服务员”
原理: CGI 是一种很老的让网页和程序交互的方式。它的最大问题是:每次有用户请求,服务器都要“雇佣”一个全新的“临时工”(进程)来处理,处理完就“解雇”。反复“招人”和“开除”非常耗时耗力!ASP 或 ISAPI 等技术更像是“长期员工”或者“效率极高的小组”,一次“雇佣”就能处理很多请求,效率高得多。 效率对比 (形象化):
- 静态网页:像直接发传单,最快 (基准 100)。
- ISAPI:像高效流水线作业,速度中等 (约 50)。
- ASP:像熟练业务员处理,速度尚可 (约 10)。
- CGI:像每次都要临时招聘培训新人,最慢 (约 1)。
结论: 尽量用 ASP、ASP.NET、PHP (配置为 FastCGI 模式) 等更现代的技术替代旧的 CGI 程序,IIS 处理起来会快很多倍。