性能测试常用术语
- 1. 响应时间(RT——Response Time)
响应时间这个概念,既有客观成分也有主观成分(用户感觉到的响应时间)。例如:浏览一个web网页, “显示可阅读的内容”就是用户感受到的响应时间;一个与用户有交互的页面,只有在用户可以与页面进行交互后,用户才会觉得响应完成。
可以将响应时间分为:呈现时间(前端性能)+服务端响应时间(服务端性能)。
服务端的响应时间可以做进一步分解:网络传输时间+应用延迟时间(数据库延迟+应用服务器延迟)——将响应时间分解后,可以更好的定位性能瓶颈。
响应时间的合理值应该取决于用户需求,而非测试人员主观设想。例如:一个新闻网站的响应时间接受标准一般在2/5/10s。但是对于一个使用频率很低的系统,点击提交后,等待10分钟也是可以接受的。
- 2. 并发用户数
业务并发用户数:同时使用系统的在线用户数量(例如:包括浏览网页、提交表单的用户)
服务端并发用户数:同一时刻与服务器进行交互的在线用户数量。
注册用户数>=在线用户数>=业务并发用户数>=服务端并发用户数
以OA系统为例,注册的用户不一定登录了系统(在线),在线用户不一定在执行同一操作(操作可以有:浏览、提交表单),只有同时执行提交表达的用户才是服务端并发用户数。
- 3. 吞吐量(Throughput)
吞吐量是指单位时间内系统处理的客户请求数量。Web应用一般用请求数/秒(RPS)、事物数/秒(TPS)、单击数/秒(HPS)、页面数/秒来衡量,从网络角度也可以用字节数/秒来衡量。
TPS(Transaction Per Second)
要理解TPS,首先需要理解什么是事物(Transaction)。事物是并发控制的单位,是用户定义的一个操作序列。在测试过程中,需要根据实际场景确定事物,例如,我们可以将用户登录这个动作(打开登录页面、输入用户密码、点击登录)定义为一个事物。
l QPS(Query Per Second)
每秒能处理的查询数目。基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS之中。
例如一个DML操作可以看做一个TPS,一个SELECT动作可以看做一个QPS。一个TPS中可以包含多个QPS。
l RPS(Requests Per Second)
每秒能处理的请求数目,等同于QPS。
l HPS(Hits Per Second)
HPS常用于性能测试工具的统计中。
单击数是指客户端发出的HTTP请求的数量,而不是指在HTML页面上的单击事件。例如,一次单击事情请求了页面A,页面A包含3个图片和2个框架(Frame),则这次单击总共产生了6个Hits(包括对页面本身的请求)。
显然,HPS通常与TPS成正比关系,请求页面A可以看做一个Transaction,其中包括6个Hits。
- 4. 性能计数器(资源利用率)
Linux常用命令:Vmstat、iostat、top、sar、free、page(si)/(so)
内存分析:Free、vmstat(swap—si/so)、iostat
处理器分析:top(%id)
磁盘I/O分析:top(%wa)、iostat
进程分析:
网络分析:sar、snmp
- 5. 思考时间
用户在实际操作时,每个请求之间的间隔时间。通过设置思考时间,可以更加真实的模拟用户操作。
- 6. 其他
l PV(Page View)
页面浏览量,用户每次访问网页都会记录1次,刷新也包括在内。
l UV(Unique Visitor)
独立访客,通过客户端Cookies实现。同一页面,客户端多次点击只算一次。
l IP(Internet Protocol)
在数据统计中指通过IP的访问量,同一页面,使用同一个IP访问只算一次。
l UV和IP统计的区别:
动态分配地址,重新连接后IP变,不清cookies的情况下UV不变。
局域网访问,IP相同,但UV不同。
浙公网安备 33010602011771号