一、启用内容过期
对于静态文件启用内容过期可以提高访问性能。首先网站的目录要划分合理,图片、CSS、JavaScript均放在单独目录下,然后在IIS中选择目 录,点属性-HTTP头,启用内容过期,可以选择30天后过去,这样,用户浏览器将比较当前日期和截止日期,以便决定是显示缓存页还是从服务器请求更新的 页,由于图片、CSS、JS通常变化较少,因此基本上都从本地缓存读取,从而加快显示速度。
LoadRunner中测试不出这个优化的效果。倒是Run-Time Settings中的一些浏览器方面的设置会影响测试结果:
Check for newer versions of stored pages every visit to the page
Download non-HTML resources
Simulate a new user on each iteration
Clear cache on each iteration
0.049 vs. 0.253
Controller中300个并发时出现这个错误:
Error: Communication error: Linked List client failed to initialize server pointer.
四、设置网站连接数
可以将 Internet 信息服务 (IIS) 配置成允许数目不受限制的并发连接,或限制该网站接收的连接个数。如果连接趋向于波动,则将数量设置成不受限制可以避免常量管理。但是,如果连接数超过了系统资源,则系统性能可能受到影响。将站点限定在特定的连接数可以保持性能的稳定。设置是站点特定的,并且可以随着网络流量和使用情况的改变而进行调整。
LoadRunner中虚拟用户数大于IIS所设置的连接数时,将收到503错误:
Action.c(4): Error -26609: HTTP Status-Code=503 (Service Unavailable) for "http://localhost/StoreCSVS/"
查看window系统日志可看到:
应用程序池 'DefaultAppPool' 超过了其作业限制设置。
五、启用 CPU 监视
CPU 监视是一个工具,它监视并自动关闭消耗大量 CPU 时间的工作进程。CPU 监视是为单个应用程序池而启用的。管理员可以对应用程序池设置两种 CPU 监视操作。
1、错误事件日志记录:当特定应用程序池或应用程序池组的 CPU 使用率达到设定的限制时,IIS 在 Windows 事件日志中记录一个错误。错误中包含特定工作进程和超出 CPU 限制的应用程序池的名称。使用 IIS 管理器启用 CPU 监视时,这会显示为“无操作”。
2、停止有问题的应用程序:IIS 将错误写入到 Windows 事件日志中之后,它会向每个工作进程发出应用程序池的 ShutdownTimeLimit 设置的多少秒后关闭命令,开始关闭应用程序池中的所有工作进程。如果到时间后进程仍未关闭,只要 IIS 未配置为替换工作进程或工作进程没有调试配置,那么 IIS 会终止工作进程。应用程序池关闭,而且在 CPUResetInterval 时间窗口到期之前会一直关闭。一旦 CPUResetInterval 时间窗口到期,应用程序池便会重新启动。使用 IIS 管理器启用 CPU 监视时,这会显示为“关闭”。
启用 CPU 监视:
在 IIS 管理器中,展开本地计算机,展开“应用程序池”文件夹,右键单击要启用 CPU 记帐的应用程序池,然后单击“属性”。
单击“性能”选项卡,然后选中“启用 CPU 监视”复选框。
在“最大 CPU 使用率”复选框中,单击向上和向下箭头来设置应用程序池应使用的 CPU 的最大百分比。如果应用程序池的 CPU 使用率超出指定的最大限制,IIS 会在 Windows 事件日志中生成一条错误信息。
在“刷新 CPU 使用率值(分钟)”框中,单击向上和向下箭头,设置刷新率。
在“CPU 使用率超过最大使用率时执行的操作”列表框中,为指定的应用程序池单击选择所需的操作。单击“无操作”可使 IIS 在指定的应用程序池达到最大 CPU 使用率限制时,在 Windows 事件日志中生成一条错误信息。单击“关闭”以关闭整个应用程序池。单击“关闭”可通过结束主工作进程来终止有问题的应用程序。
单击“应用”,然后单击“确定”。
六、配置 Web 园
可以使用 IIS 6.0 工作进程隔离模式,将应用程序池配置为由多个工作进程支持。使用多个工作进程的应用程序池称为“Web 园”。Web 园与“Web 场”不同之处在于,Web 园针对某个应用程序池使用多个工作进程,而 Web 场针对某个网站使用多个服务器。
为应用程序池创建 Web 园可在以下几个方面增强性能:
可靠的请求处理:当应用程序池中的某个工作进程停止处理时(例如,当脚本引擎停止响应时),其他工作进程可以接受并处理该应用程序池的请求。
减少了资源争用:当 Web 园达到稳定状态时,按照循环方案每个新 TCP/IP 连接将分配给 Web 园中的一个工作进程。这可以产生平衡工作负荷和减少绑定到的工作进程的资源争用的效果。
配置 Web 园:
在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
单击“性能”选项卡,然后在“Web 园”下的“最大工作进程数”框中,键入要向应用程序池指定的工作进程数。
单击“确定”。
*大于1时,有可能造成在多个进程之间的数据缓存不同步问题。
参考:
基于YSlow优化策略的IIS6调优
http://www.nnwb.com.cn/yahoo-optimization/2009430323.htm
Performance Testing Microsoft .NET Web Applications学习笔记
http://www.docin.com/p-98321621.html