性能测试TPS目标值确定-二八原则

 在性能测试中通常使用二八原则来量化业务需求。

二八原则:指80%的业务量在20%的时间里完成。

例:如某个公司1000个员工,在周五下午3点-5点有90%的员工登陆公司周报系统

则:业务量=1000个,时间=2x60x60=7200秒

根据二八原则来计算3点到5点的TPS=(90%*业务量*80%)/(20%*时间)=0.9*1000*0.8/(0.2*7200)=0.5个/s

注:二八原则计算的结果并非在线并发用户数,是系统要达到的处理能力(吞吐量)


### 如何在性能测试中计算和确定 TPS #### 定义与重要性 TPS (Transactions Per Second),即每秒事务数,是衡量系统处理能力的重要指标之一。这一数值反映了单位时间内服务器能够完成的交易数量,直接影响用户体验和服务质量[^1]。 #### 计算基础数据收集 为了准确地计算并设定合理的TPS目标值,在开始之前需先获取一些基本参数: - **预期最大并发用户数**:指在同一时间段内可能同时访问系统的最高人数。 - **单个用户的操作频率**:通常以每次会话期间发起请求的数量来表示。 - **业务高峰期持续时间**:识别一天中的哪些时段流量最为集中。 通过上述三个要素可以初步估计出所需的最小TPS水平[^3]。 #### 应用二八法则优化预估精度 考虑到实际应用场景下的不均匀分布特性,采用二八原则可以帮助更好地贴近真实情况。具体来说就是80%的工作负载集中在20%的时间段里发生。因此即使全天平均下来TPS较低,但在某些特定时刻仍需具备较高的处理能力以应对突发高峰。例如,如果根据历史数据分析得出日常运营状态下平均每秒只需处理约1次请求,则依据此规律推断出峰值时期至少应达到2.3次/秒以上才能确保服务稳定运行[^4]。 #### 设定合理的目标范围 基于前期调研所得的数据以及行业标准或同类产品表现作为参照系,确立一个既具挑战又切实可行的具体数值区间作为最终追求的理想状态。值得注意的是这个过程并非一次性完成而是随着项目进展不断调整完善的过程[^2]。 ```python def calculate_tps(expected_users, operations_per_user, peak_duration_seconds): """ Calculate the estimated Transactions per second. :param expected_users: Expected number of concurrent users during peak time. :param operations_per_user: Average number of transactions initiated by each user within one session. :param peak_duration_seconds: Duration in seconds when most traffic occurs. :return: Estimated minimum required TPS value. """ total_operations = expected_users * operations_per_user tps_estimate = total_operations / peak_duration_seconds # Apply Pareto Principle adjustment factor pareto_adjustment_factor = 2.3 # Based on 80/20 rule from reference material adjusted_tps = tps_estimate * pareto_adjustment_factor return round(adjusted_tps) # Example usage: print(calculate_tps(1000, 5, 60)) # Assuming 1000 concurrent users making an average of 5 requests over a minute's peak period. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值