通常我们都从两个层面定义性能场景的需求指标:业务指标和技术指标。
技术指标不能脱离业务指标,所有的技术指标都是在有业务场景的前提下制定的,而技术指标和业务指标之间也要有详细的换算过程。这样一来,技术指标就不会是一块飞地。同时,在回答了技术指标是否满足的同时,也能回答是否可以满足业务指标。
有了这样的关联关系,下面我们看一下性能测试行业常用的性能指标表示法。
为了区分这些概念,我们先说一下TPS(Transactions Per Second)。我们都知道TPS是性能领域中一个关键的性能指标概念,它用来描述每秒事务数。我们也知道TPS在不同的行业、不同的业务中定义的粒度都是不同的。所以不管你在哪里用TPS,一定要有一个前提,就是所有相关的人都要知道你的T是如何定义的。
通常情况下,我们会根据场景的目的来定义TPS的粒度。如果是接口层性能测试,T可以直接定义为接口级;如果业务级性能测试,T可以直接定义为每个业务步骤和完整的业务流。
线程数、用户数与TPS
若压力工具是4个并发线程,由于每个线程都可以在一秒内完成4个事务,则总的TPS是16。
那么用户数怎么来定义呢?涉及到用户就会比较麻烦一点。因为用户有了业务含义,所以有些人认为一个系统如果有1万个用户在线,那就应该测试1万的并发线程,这种逻辑实在是不技术。通常,我们会对在线的用户做并发度的分析,在很多业务中,并发度都会低于5%