news 2026/4/3 5:18:31

如何测试效能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何测试效能


除了功能方面的测试外,我们还要测试那些"服务质量"。如效能测试、负载测试、压力测试。我们在本章前面讲到了这三种测试。在Stone项目中,以产品搜索为例,这三种测试的区别如下:
效能测试:在100个用户的情况下,产品搜索必须在3秒钟内返回结果。
负载测试:在2000个用户的情况下,产品搜索必须在5秒钟内返回结果。
压力测试:在高峰压力(4000个用户)持续48小时的情况下,产品搜索的返回时间必须保持稳定。系统不至于崩溃。
我们可以举一个现实生活中旅客乘坐列车的例子来做对比。
效能测试:在80%上座率的情况下,期望:列车按时到达,并且乘客享受到优质服务。乘务员不要太累。
负载测试:在100%上座率的情况下,期望:列车大部分按时到达,乘客享受到基本服务。乘务员的疲劳在可恢复范围内。
压力测试:在高峰压力是200%上座率,全国铁路系统增加20%的列车,持续15天的情况下,期望:列车能到站,乘客能活着下车,系统不至于崩溃。乘务员也能活着下车。
说一句题外话,飞机如何做压力测试?波音公司在早期是用沙袋或铅块压在飞机机翼上的不同部位,来模拟飞机在各种激烈运动中各个部位的受力,受力的上限一般是平常水平飞行受力的7倍。当然,现在的飞机设计公司都有一系列完备的模拟和测试工具(如风洞和计算机模拟工具等)。效能、负载、压力这些方面的测试会产生很多数据,这些数据最好保存在数据库中,以便于日后跟踪分析。这些数据将为以后做网站容量规划(CapacityPlanning,又称能力规划)提供重要的依据。在VSTS中,效能和压力测试都可以用"LoadTest"来实现,LoadTest牵涉到许多因素,因此我们需要按部就班地设置,如图 所示。

负载测试的一个核心概念是"场景",这与软件设计的场景有所区别,它主要包含负载测试的各种参数。
1.停顿时间(ThinkTime):在每次请求之间和一批测试之间的停顿。
2.负载模型(LoadPatter):模拟的用户量是恒定在一个数值的(如:总是30个用户),或者是分级进行的(如:开始是5个用户,每
分钟增加10用户,直到最高50个用户)。
3.测试混合模型(TestMix):此次负载测试要运行多少种测试,每种测试所占的比例是多少。
4.浏览器混合模型(BrowserMix):各种浏览器的选择及比例。
5.网络混合模型(NetworkMix):各种带宽的网络及比例。
设置好场景后,下一步要决定我们收集什么样的效能数据
(Performance Counter),这时,我们可以收集代理机器(Agent,模拟的服务请求从这里发出)和控制机器(Controller)的效能数据,更重要的是收集网络服务器的效能数据(如图 所示)。

这些效能数据会反映在负载测试中。最后一步是设置运行负载测试中的各种参数。图13-7是某次网络负载测试的运行结果。

网络应用的负载测试比较复杂,要下一番苦功才能掌握。一般来说,我们会将所有数据都保存到数据库中,以便将来做分析。至于这次测试的目标:确认网络服务器能否在规定时间内处理用户的请求,服务器上有没有出现错误。这两种数据都能立即得到。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 3:23:54

Platinum-MD完整指南:免费开源的NetMD音乐管理解决方案

Platinum-MD完整指南:免费开源的NetMD音乐管理解决方案 【免费下载链接】platinum-md Minidisc NetMD Conversion and Upload 项目地址: https://gitcode.com/gh_mirrors/pl/platinum-md Platinum-MD是一款专为NetMD MiniDisc设备设计的现代化音乐管理工具&a…

作者头像 李华
网站建设 2026/3/27 5:59:04

TouchGal深度指南:解锁Galgame社区的全部潜力

TouchGal深度指南:解锁Galgame社区的全部潜力 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next TouchGal作为专为Galgame爱…

作者头像 李华
网站建设 2026/4/2 15:56:45

5分钟精通Inkscape光学设计:从零到专业光路图

还在为绘制复杂光学实验示意图而烦恼吗?传统方法需要手动计算每束光线的反射和折射角度,既耗时又容易出错。Inkscape光线追踪扩展将专业级光学仿真无缝集成到熟悉的矢量绘图环境中,让你通过简单操作就能模拟光线在各种光学元件中的精确传播轨…

作者头像 李华
网站建设 2026/3/29 22:34:32

揭秘Dify触发器集成测试难题:3步实现稳定可靠的系统联动

第一章:揭秘Dify触发器集成测试难题:3步实现稳定可靠的系统联动在构建基于Dify的自动化工作流时,触发器作为连接外部系统与AI应用的核心组件,其稳定性直接影响整个系统的可靠性。然而,在实际集成测试中,开发…

作者头像 李华
网站建设 2026/4/1 23:31:11

多任务联合训练机制:IndexTTS 2.0如何同时掌握音色与情感

多任务联合训练机制:IndexTTS 2.0如何同时掌握音色与情感 在短视频、虚拟主播和有声内容爆发式增长的今天,用户早已不再满足于“机器念稿”式的语音输出。他们想要的是像真人一样富有情绪起伏的声音,是能跨越角色界限、用A的嗓音演绎B的情感…

作者头像 李华
网站建设 2026/3/31 3:55:29

如何快速掌握OmenSuperHub:惠普游戏本终极性能控制指南

如何快速掌握OmenSuperHub:惠普游戏本终极性能控制指南 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方OMEN Gaming Hub的臃肿体积和频繁弹窗烦恼吗?OmenSuperHub这款纯净硬件控制工具将彻…

作者头像 李华