容量测试是性能测试的一种,通过模拟极端负载环境,测定软件系统能够持续处理的最大工作量,用于验证系统的承载能力与服务边界。测试关注反映系统应用特征的指标极限值,具体指标包括最大并发用户数、数据库记录数等。测试结果可为系统扩容、优化、技术方案规划及部署策略制定提供数据支撑。
容量测试通过自动化负载工具模拟用户行为,在设定的业务场景和数据规模下向系统施加负载,观察系统处理工作量的表现。测试采用模拟“超级用户”行为的方式,并排除负载工具自身性能对测试的干扰。
容量测试从吞吐量和扩展性两个维度评估系统。吞吐量以每秒事务数衡量,反映系统处理事务的能力;扩展性以可创建对象数量等指标衡量。最大并发用户数、数据库记录数等指标,则用于描述系统在相应应用条件下的承载边界。
容量测试涉及自动化负载工具、业务场景、测试数据模型及运行环境。负载工具用于模拟用户行为并产生测试负载。阿里云PTS工具支持RPS模式,可按每秒请求数设置压测负载。
测试数据模型需要与生产环境保持同量级,业务场景需要覆盖业务占比较高的场景,以及可能出现突变的业务场景。数据规模与业务场景共同构成测试条件,使测得的容量指标能够对应实际业务的应用特征。
测试环境的架构、机型和参数需要与生产环境一致。实验室环境与生产环境之间的差异会影响测试结果,服务器配置也是影响吞吐量的重要条件。单服务器部署与多服务器农场部署的吞吐量表现存在差异,容量测试需要结合相应部署结构开展。
数据库服务器常成为系统扩展的瓶颈。在多台Web服务器对应一台数据库服务器的结构中,数据库服务器的承载能力是容量测试关注的环节。
容量测试用于分析软件系统的并发用户承载量、数据库记录规模及事务处理能力,为确定服务边界提供依据。在系统扩容与优化过程中,测试结果可辅助判断承载能力的限制所在;在技术方案规划和部署策略制定过程中,测试结果可作为评估服务器配置与系统架构的依据。