软件性能工程(9)-使用置信区间量化应用程序启动时间

引言

指标量化是所有优化工作开展前首要确认的事情,只有当指标量化方法确认之后才能定义优化目标。

行业最普遍的做法是通过计算一组响应时间的算数平均值来量化响应时间,这种做法虽然简单但平均值受异常值的影响非常大。这种结果往往会误导优化方向因为偶然出现的异常值会使数据失真。

为了避免这种情况本文中采用置信区间进行响应速度的量化与比较。

「我们认为置信区间工具能够有效的量化响应时间(完成时间),其主要的贡献来自于考虑了异常值的存在及出现概率。」

置信区间(Confidence interval)

置信区间详细的解释在此链接,如果大量数学公式使你迷惑的话你只需要记住「如果样本分布符合 t 分布且满足若干个前提条件时可以使用置信区间量化响应时间」

t 检验假设前提条件是:

  1. 代表性:两组样本代表他们各自的总体。如果样本无法代表总体则无论采用哪种统计手段都无法弥补。这条前提看似简单但往往也容易忽略

  2. 独立性:两组样本彼此不相关

  3. 正态性:两组样本基本满足正态分布

  4. 方差齐性:两组的方差大致相等(标准差)

使用置信区间可以计算单个样本集的响应时间又可以对比不同样本集间的差异,特别是在量化优化提升时非常有用。以下分别展示通过使用置信区间工具分析单个响应时间与比较两组响应时间的差异。

使用置信区间分析单个样本集响应时间

以下为部分输出结果

Software Version: 110038382Build
Measured Data: 2460ms, 2430ms, 2471ms, 2416ms, 2373ms, 2627ms, 2492ms, 2504ms, 2503ms, 2523ms
Arithmetic mean: 2479.9ms Gemotric mean: 2479.04ms  Median: 2481.5ms
Mode: 2373.0ms  SD: 69.31 CV: 0.03ms  SampleSize: 10
Confidence: 95% 2 T-Distribution  Range: 2440.96ms ~ 2539.84ms Volume: 98.88ms

表示有 95%信心确认 110038382Build 版本的响应时间范围会处在 2440.96ms 到 2539.84ms 之间。

使用置信区间对比多个样本集响应时间

以下为部分输出结果

Software Version: 110038382Build
Measured Data: 1240.650ms, 1076.644ms, 1073.136ms, 1089.155ms, 1069.663ms, 1073.757ms, 1068.990ms, 1075.755, 1064.660ms, 1095.025ms
Confidence: 95% 2 T-Distribution  Range: 1061.32ms ~ 1133.12 ms Volume: 71.8ms

Software Version: 110038634Build
Measured Data: 1238.555ms, 1246.591ms, 1245.808ms, 1232.166ms, 1231.308ms, 1234.580ms, 1240.009ms, 1221.805ms, 1226.612ms, 1229.983ms
Confidence: 95% 2 T-Distribution  Range: 1230.72ms - 1242.21ms Volume: 11.49ms

Diversity Percent 100.000% Range: -179.35ms ~ -104.65ms Volume: 74.7ms 表示有 100%信心确认两个样本集有差异并且版本 110038382Build 响应速度会快于版本 110038634Build

你可能感兴趣的:(软件性能工程(9)-使用置信区间量化应用程序启动时间)