一、性能测试工具的基本组成
性能测试工具基本都会包含如下几个核心的模块。
- 压力生成器(Virtual User Generator):来产生无限压力地方,相当于无数个测试人员
压力发生器是性能测试工具最核心的部分,它主要有两个功能,一是真实模拟用户操作,二是模拟有效并发。
- 结果采集器(Result Collector):结果记录人员
- 负载控制器(Controller):对应的是指挥人员
- 系统资源监控器(Monitor):对应的是若干资源监控人员,监控客户端、网络端、服务端
- 结果分析器(Analysis):对应的是结果统计人员

二、性能测试工具缺陷
1.模拟用户网页操作时,浏览器是异步请求6个,而工具是同步执行6次请求
模拟真实用户操作:浏览器在加载网页的时候,是同时并发多个TCP连接去请求页面对应的HTTP资源,包括HTML、JS、图片、CSS,当前流行的浏览器普遍会并发6-10个连接。然而,性能测试工具在模拟单个用户操作的时候,基本上都是单连接串行加载页面资源。产生的差异在于,假如页面有100个资源,每个HTTP请求的响应时间约为100毫秒,那么浏览器采用6个连接并行加载网页时大概会需要1.7秒(100/6*100毫秒),而测试工具采用单连接串行加载就需要10秒(100*100毫秒),两者结果相差十分巨大。这也解释了为什么有时候我们通过性能测试工具测试得到的响应时间挺长,但是手动用浏览器加载网页时感觉挺快的原因。
2.有效并发数 因压力机本身设备限制 而无法达到并发压力
&nb

本文介绍了性能测试工具的基本组成,包括压力生成器、结果采集器、负载控制器、系统资源监控器和结果分析器。性能测试工具存在的缺陷包括模拟用户操作的异步请求差异和有效并发数的限制。主流测试工具有LoadRunner(商用)、jmeter(开源免费)、Locust、LoadNinja以及Jmeter结合Prometheus和Grafana。此外,还提及了web前端性能测试工具如Fiddler和移动端性能测试工具PerfDog、GT、iTest等。

718

被折叠的 条评论
为什么被折叠?



