数据分析在压测中的应用1

作者: 胖艺 | 来源:发表于2017-12-17 17:33 被阅读44次

过去,数据分析和测试的关系好像大部是体现在测试报告的各种图表——大部分人都不太关注的图表。而今天想拿压测中的两个例子,说明下用数据分析的方法真的可以让测试变得更好。

1、确定压力测试模型

在压力测试过程中,压力测试模型让我们的测试更有针对性。之前的一个做法是,我们会以目前线上的交易量为基础,推算一个未来某时间的交易量,得到一天的交易量,在折算在工作的8小时或其他几个小时内去处理,得到一个预期各交易类型的tps,计算出并发的用户数。在设置并发、预热、减少压力的策略等等。这种测试方法下,我们可以得到这样一个理论上的交易量-时间图:

理论上交易量-时间图

但很奇怪的是,我们明明有线上的数据,为什么不直按照线上的数据放大几倍为未来的交易量级,直接进行测试呢?

所以我们拿了线上的脱敏数据,分析了一个月的交易数据,把每天按分钟划分为1440时间点,计算每个时间点交易量的平均值,这样的到了1440个交易量的点:

实际每分钟交易订单数

按照这个量的X倍的到每分钟的交易量和计算分钟的并发数进行压力测试。

另一个就是金额,以前通常的做法会选择一定范围内的随机金额。但是在交易类系统中,金额在风控、费率等计算中也是很重要的。所以我们分析了线上的一天的交易金额,得到每分钟交易金额均值作为每分钟内交易金额的随机的范围:

每分钟金额随机范围

我们可以看到真实场景下并非交易量大的时间,交易金额就一定大。采用这样一个金额的差异化,比之前任何时间点都在一个范围内随机差异或者是固定值要来得更贴近现实。

2 计算处理时间

在有比较好的测试模型后,进行测试后。我们通常需要得到系统的处理时间。在没有规范的日志情况下,数据库里的记录会是一个好的选择。数据库中一般都会记录交易的创建时间、完成时间、更新时间等。借此,我们可以得到系统内部处理等时间分布:

处理时间分布

计算一些我们关心的处理时间的值,例如:

平均值:HandlerTimeAVG: 1461.93 ,

最大值:HandlerTimeMAX: 86433.00 ,

最小值:HandlerTimeMIN: 0.00 ,

中位数:HandlerTimeMEDIAN: 798.00 ,

标准差:HandlerTimeSTD: 4102.73

此时我们不难发现在时间点200左右,交易量是低的,而处理时间有几个点却很高。按正常时间点看,是在凌晨的2-4点。而此时正是几个批处理任务的时间点。是否是批处理任务对交易有影响呢?

ok,通过这两个小例子,用数据分析的方法,一个可以让测试模型更接近真实环境,一个是发现可能的潜在问题。当然,随着业务的发展,有了更新的数据后,我们需要重新分析数据。重新分析的数据等节奏,可以按压测的需求进行,甚至集成到压测步骤中。构建一个自动化压测系统可以参考:《构建自动化性能测试系统的实践》。另外,在一些推荐和风控场景下,我们还可以对用户的属地信息、年龄信息进行分析,构建相应信息的交易来看系统的行为。

【重要】更新数据,进行分析是极为重要的,它使我们的模型更接近未来几个月的真实的环境,才可能提前发现潜在问题,及早应对。


有不足之处,欢迎指正,共同学习。

多谢

相关文章

  • 数据分析在压测中的应用1

    过去,数据分析和测试的关系好像大部是体现在测试报告的各种图表——大部分人都不太关注的图表。而今天想拿压测中的两个例...

  • 数据分析在压测中的应用2

    之前在《构建自动化性能测试系统的实践》中提到使用的测试工具是自己开发的。有同学就提出了疑问:如何验证自己开发的工具...

  • 性能压测学习大纲

    一、压测的目的 二、压测的完整流程 三、压测场景分析/组织测试脚本 四、压测数据准备 五、压测指标监控 七、压测结...

  • 压测和性能分析方法论

    [TOC] 压测和性能分析方法论 压测目的 压测目的是为了证明结论,为了得到正确的数据,只有有数据在手,才能清楚具...

  • * *Fastmonkey 日常维护

    应用于更换压测对象,即不同bundle id的app的压测场景 ^ ^ 1 修改bundleID 2 修改Monk...

  • 编程---平衡数

    2020 03 03 1、线上环境压测写接口类型时,可以采用影子表的方式,将压测过程中的脏数据写入到该影子表内,压...

  • 并发模式与 RPS 模式之争,性能压测领域的星球大战

    本文是《如何做好性能压测》系列专题分享的第四期,该专题将从性能压测的设计、实现、执行、监控、问题定位和分析、应用场...

  • 3.jmeter完成简单压测

    步骤: 1.准备压测脚本+压测数据现在测试环境调试通过,最后再上正式环境,试1条并发(保证脚本和数据没问题); 2...

  • 流量录制,基于常态化压测

    简介 常态化压测、业务压测、集群压测、全链路压测、等基于特定需求的对后台接口进行的并发式请求,接口自动化压测数据的...

  • 软件工具

    一、统测数据分析 针对教育评估机构和教育管理部门的需求,应用于各级各类统一测试数据的分析。 1. 数据分析协作平台...

网友评论

本文标题:数据分析在压测中的应用1

本文链接:https://www.haomeiwen.com/subject/spaywxtx.html