介绍
为什么要对应用程序进行压力测试?
准备运行压力测试
运行压力测试
计算压力测试结果
成功运行压力测试的提示
结束摘要
Microsoft? Windows? DNA 应用程序的开发和部署中经常被忽略的步骤是对应用程序进行压力测试,确保当生产环境中最大数量的授权用户访问该应用程序时,它将按预期执行。本文强调当涉及使用 Microsoft Data Aclearcase/" target="_blank" >ccess Components (MDAC) 开发应用程序时压力测试的重要性,并且提供一些提示使该过程更容易完成。
本文的目的是帮助有经验的开发人员和 IT 专业人员设计和实现完整的压力测试方案,诊断测试结果,并建议进行某些更改以纠正缺陷。本文假设读者熟悉 Microsoft Windows NT? Server、Microsoft SQL Server?、Microsoft Internet Information Server (IIS)、Active Server Pages (ASP)、Microsoft ActiveX? 数据对象 (ADO) 和 Microsoft Component Services 环境(或者如果使用的是 Windows NT,为 Microsoft Transaction Server [MTS])等技术。
应该强调 COM 或 DCOM 组件中业务逻辑和数据访问过程的正确实现,包括 ADO 组件。由于性能和可靠性的原因,这些过程不应该驻留在 Active Server Page 中。如果您关心应用程序将如何在压力下运行,则您可能已经设计了利用这些组件和组件服务环境益处的应用程序。
本文不尝试讨论由客户端浏览器或带宽限制引起的压力问题,而是主要专注于服务器端数据访问组件和它们与 Internet Information Server 的交互。本文也不处理因使用 Remote Data Services (RDS) 所带来的难题。
为什么要对应用程序进行压力测试?在生产环境中部署应用程序之前应该总是先执行压力测试。对支持 Web 的应用程序进行压力测试的基本目的是达到下列目标: 精确测量当系统上总用户负载增加时各用户的具体使用境况 在生产环境中部署应用程序之前,确定由应用程序使用的最大硬件容量并因此确定硬件升级是否必要 定义应用程序用户可接受的性能阈值,即平均页响应时间 确保当系统中出现了预计的最大并发用户负载时性能阈值能够保持在可接受的水平上
对于要获得成功的大多数 Web 应用程序,用户体验最为关键。然而,使应用程序经过压力测试过程有许多充足的理由,包括: 在开发中运行很好的应用程序在高压力环境下运行时可能表现很差。例如,当多个应用程序同时使用 Internet Information Server 或 SQL Server 计算机时,如果没有将应用程序设计为可在该方案中正确运行,则将新的应用程序添加到这些应用程序中会干扰、甚至可能会中断现有应用程序。 客户将在最初几次使用应用程序时形成对其最重要的印象。如果因为压力问题使最初印象不好,则即使以后解决了该问题,也很难改变他们的印象。另一方面,通过在部署前对应用程序进行充分压力测试,您可以在客户中树立良好的声誉,证明您是创建又好又快且按预期运行的应用程序的开发商。 负责部署和维护应用程序的 IT 团队将和客户一样(甚至比客户更加)赞赏您的压力测试。他们身处一线,并且将首先听到意见和评论。如果可以可靠地预见将影响 IT 团队的可缩放性问题,则该团队成员在您需要他们的技术时更愿意帮助您。 潜在的业务伙伴也应该包括在客户满意度矩阵中。如果他们决定将您的应用程序作为一个部分包括在更大的应用程序软件包中,则他们可以大大提高您的应用程序成功率。准备运行压力测试
要确定最佳情况下的服务器分析值(也称为基准),应首先在受控环境中测试试验系统配置。其次,应该在模拟生产环境中测试以确定生产环境配置如何影响试验系统的结果。
在准备开发循环的压力测试阶段时,需要注意以下方面: 硬件与软件的配置 服务器配置 安全配置 用户负载配置 选择正确的压力工具硬件与软件配置
试验系统应尽可能镜像生产系统。CPU、RAM 和网络带宽的硬件配置是将在压力测试期间被检测的最重要方面。应努力复制软件配置,例如适当的 Microsoft Windows 版本和 Service Pack、MDAC 版本、Internet Information Server 配置和将在实际生产系统中的相同机器上运行的任何其他应用程序。安装和注册中间层业务规则和数据访问 COM 组件,并按应用程序设计要求对它们进行配置。