内容


度量工作负荷交易响应时间的分布情况

Comments

引言

当压力测试运行得到分析时,当前度量的主工具是每秒之中的平均(以后就叫平均值)交易率。当这个工具是某个值时,度量压力测试运行的成功情况,该工具揭示了大量测试之中只有小部分事例会运行。

按照下面的方法来应用以下的统计性方法:

  • 对数据集的分布进行建模。
  • 度量数据集的分散性。
  • 根据度量的程度来应用中等、低级和高级质量。

使用这些方法,您就可以提高您对数据的理解程度。下面将会详细介绍这些技术。

对数据集分布的建模:对数据集的建模向我们提供了对数据结构的高层次理解。拥有数据高层次的视图是我们最需要的,它可以使您:

  1. 决定数据的分布方式
  2. 检查分散的程度
  3. 识别潜在的歪斜和异常值。

在理想的条件下,大部分的数据都位于中央位置处,少量的数据不在这个中心点附近。该分布一般引用为规范的分布情况。

度量分散情况:分散情况向我们提供了范围,或者给定数据集内数据扩散情况的度量手段。在理想的情况下,最好让大多数的数据都位于中央位置处(例如,平均值或者中间值)。在下面的范例之中,我们可以使用箱线图来度量一个数据集内分散的程度。在理想的环境条件下我们可以看到以下的内容:

  1. 数据的扩展期非常短(从 1 到 1.8 秒)。
  2. 框的程度非常短,意味着较小的空隔。
  3. 中央行(中间)一般位于框的中间,指示了有非常小的歪斜度。
  4. 图像包括了缺乏的异常值。(与数据集中大部分值不一样的值 )。

图 1 中的分散箱线图包含了其他的重要度量手段,包括下四分位和上四分位值(如果中间值将数据分成两半,那么四分位值会将数据分为四分之一),以及上临近值和下临近值(临位值就是上四分位值和下四分位值的 1.5 倍之间的值)。

图 1. 显示低层次分散度的箱线图
显示没有分散度的箱线图
显示没有分散度的箱线图

在不是很理想的情况下,我们可以看到数据的扩展性在 2 到 2.8 秒之间有很大的波动,而框的长度处于一个中等的位置处,这意味着数据的分散程度。另外,中间值位于框的左边,这意味着存在一定程度的歪斜,而图中包含了 2.9/3.2 秒处的两个异常值。

图 2. 显示中等程度分散性的箱线图
显示带有分散度箱线图的屏幕截图
显示带有分散度箱线图的屏幕截图

使用中间值,下四分位和上四分位作为位置的度量手段: 在这个箱线图之中,度量值和标准偏差就是一个数据集内位置的度量手段。但是,这些参数对异常值的存在有较低的抵抗力。因此,如果在数据集内存在异常值的话,那么度量值和标准偏差会得到相应的定位。

使用中间值和四分位范围作为位置的度量手段,可以帮助您提供数据位置更为强大的度量方式。这些工具对于异常值的存在有更大的抵抗力。

选择一个分布模型

在我们开始建模过程之前,弄清楚我们的目标不是找到一个精确匹配的模型,这一点很清楚。相反,我们的目标在于创建一个能够最佳代表数据的模型。在您开始应用一个建模过程时,有大量的因素值得我们的注意。

我们第一个任务在于,决定使用什么类型的模型。当我们在度量每一个交易的持续时间,以及我们的度量会持续五天的事实时,假设我们会使用一个持续性模型,这一点是非常合理的。

既然我们选择了我们的模型,那么我们需要决定使用什么样的持续性分布。在我们试着回答这个问题之前,需要数据的可视化检查。下面的图 3 显示了数据集的直方图。

图 3. 交易响应时间的直方图
显示交易时间的图
显示交易时间的图

查看直方图,我们可以看到大多数的数据都在峰值 0.14 秒左右。但是有一个非常显著的右歪斜。

因为数据集不是对称性的,所以我们可以清楚地看到,一个规范的分布模型将不是一个合适的选择。现在我们将会把注意力转向持续性的分布之上。

来自“重尾分布”家族的分布形式,可能会作出一个适当的选择。

图 4. 带有日志曲线交易响应时间的直方图
显示测试及曲线的图
显示测试及曲线的图

实际上,图 4 显示了我们数据集的直方图。当曲线不能精确地匹配数据时,我们可以说数据是有限匹配的 - 但是,我们可以看到有一系列的异常值仍然在数据集之内。注意显示从 0 到 1 秒响应时间的目的已经显示了出来。

在结论之中,我们的数据集是非对称的,并且包含了相当程度的右偏,因为在数据集中有异常值的存在。当数据集根据三参数分布曲线得到填充时,数据就是有限匹配的。

度量分散度

分析的下一步是决定数据集的分散度。当我们去讨论数据时,我们其实是对数据如何在数据集之间如何分散感兴趣。广泛的分散度,就指示了大量可以扩展的值,尽管如此,小的分散度意味着数据沿着中央分散的趋势。

有很多种方法可以度量分散度:

  1. 范围
  2. 变量
  3. 标准偏差

有很大的几率,在前面分析工作期间您可能会遇到所有的方法。但是,这三种方法中没有一种对于异常值有较强的抵抗力。一个替代性的方法就是使用四分位范围与中间值,它对于异常值有较强的抵抗力。

四分位范围就是数据集分散度的一种度量手段。它是上四分位数与下四分位数之间的差异。上四分位数与下四分位数定义如下:如果中间值是中间数据点(数据集的 50% 处),而下四分位数就是首个四分位数据点(例如,在数据集的 25% 处),而上四分位数就是第三个四分数据点(例如,在数据集的 75% 处)。

演示四分位范围的最佳方法是创建数据集的箱线图。

图 5. 完整数据集的箱线图
描述带有异常值的箱线图
描述带有异常值的箱线图

图 5 显示了数据集的箱线图。注意左手边有一个青灰色的方框是实际的箱线图。大多数的图由从 0.33 到 5 秒的异常值组成。为什么图将这些值显示为异常值的原因,在于在这样一幅场景的背后存在这样一种考虑,就是这些值远离了大多数的数据。为什么会出现这种情况呢?

浏览一下我们的数据集,我们总共拥有大约两百万的观察值,其中有一百八十万的观察值(占 90%)在 0.33 秒之下,而剩下的值,二十万的观察值(占 10%)就在 0.33 秒左右。全体而言,我们的数据主要分布在 0.03 秒到 5 秒之间。

所以我们可以从那 10% 的异常值中得出什么结论呢?我们可以看到在工作期间,不是所有的交易都得到了预期的处理。这些执行糟糕的交易也被添加至我们的分布数据中了。对 10% 组内所包含交易的进一步检查应该进行下去,以决定是否有潜在的趋势或者模式。

现在让我们将我们的注意力转向大多数的交易,并决定如何分布数据。

图 6. 带有删除异常值数据集的箱线图
显示没有异常值箱线图的屏幕截图
显示没有异常值箱线图的屏幕截图

正如前面提到的那样,所谓的箱线图就是在数据集内演示分散情况的一种图形方法。图 6 显示了异常值排除之后的数据箱线图。这就是比 0.33 秒大的所有值。我们已经可以确定在数据集中存在大量的异常值,所以出于清晰度的考虑,我们从随后的图中删除了异常值。

对于分散度而言,有三点值得我们的注意:

  1. 四分位范围(IRQ):IRQ 就是第一个四分之一到第三个四分之一之间的距离,或者换句话说,它就是框的长度。正如我们可以看到的那样,框的长度从 0.11 到 0.20 秒;这是一段非常短的持续时间(只有 0.9 秒,当排除异常值时,这给我们数据集内低分散度的一个确切证据)。
  2. 扩展临近值:上临近值和下临近值都被定义为 IQR 值的 1.5 倍之内。这些临近值向我们显示了 0 到 24% 及 76 to 100% 之间的扩展值; 总体来说,它们包含了 IQR 之外不是异常值所有的值。我们从下临近值可以看出(它的范围为 0.03 到 0.11 秒),该值与上临近值相比更短(它的范围为 0.20 到 0.33)。因为上临近值要比下临近值更长,所以有很明显的证据显示,更多的值位于数据集的上面。上临近值的位置与大小指示了歪斜的程度,以右歪泄表示。
  3. 观察的偏差:最终,我们将会看到数据集会是多么的对称。当我们描绘数据集的分布(见于图 5)与建模数据集时,我们不会找到对称性的证据。对于这种假设的进一步证据,可以通过检查箱线图中间值位置来获得。我们可以看到中间值不在箱线图的中央 - 实际上,它位于左手边的框中,这意味着在数据集中有右歪斜。实际的歪斜被计算为 0.65,这就可以确认该观察值了。注意:当异常值也计算在内时,外泄程度就变成了 6.09。

总体而言,通过所谓箱线图的图形方式,我们已经度量了数据集的分散情况。整个数据集的箱线图显示了有很大程度的外泄,较高程度的分散度,以及数据集内大量的异常值。对这些异常值进一步分析之后,我们会看到大量执行糟糕的交易。为什么这些执行的交易会是合理的,将会得到进一步的调查。

当异常值被排除在外时,会创建一个新的箱线图。在研究四分位范围以及临近值的位置之后,我们会通过数据分析来了解到在数据的子集内有低程度的分散度。在研究箱线图的对称性之后,数据集中会产生少量的外泄。

应由中间值和四分位范围作为位置的度量手段

在最后的部分中,我们将会看到位置的当前度量;这指的就是度量值与标准偏差。我们还会讨论位置的其他度量手段,中间值和质量,并讨论它们对分散度有更大的抵抗力。

在工作负荷分析中,对成功的一种度量手段就是我们的中间值交易满足了特定的目标。但是,依赖平均值和标准偏差作为位置的度量手段,有一个缺点。正如您在前面所看到的那样,由于有一些异常值的存在,我们的数据集包含了一定程度的分散度。

那么这些异常值和分散度是怎么影响度量值和标准偏差的呢?查看下面的表 1,我们可以在数据集中看到异常值。

表 1. 度量值与标准偏差计算
数据集观察值度量值标准偏差
包含异常值20248860.240.38
排除异常值18309400.150.06

查看表 1 之中的计算值,我们可以看到包含了异常值的平均值要比排除异常值之后的值大 60%。对于标准偏差而言,这种效果更加显著,我们可以看到标准偏差是包含异常值时标准偏差的 6 倍左右。明显的是,我们可以看到异常值的存在影响到了位置的度量。

表 2. 中间值与 IQR 计算
数据集观察值中间值内部四分位范围
包含异常值20248860.150.09
不包括异常值18309400.140.07

查看表 2 之中的估计,我们可以看到两个数据集的中间值几乎都是相似的,与之类似,四分位值也非常相似。从这里我们可以得到什么结论呢?几乎不用怀疑平均值和标准偏差会收到异常值存在的影响,而中间值和 IQR 所受到的影响则较小。

在异常值非常明显的数据集中,中间值和标准偏差值不应该用作位置的度量值。但是中间值和标准偏差值可以得到计算,因为它们对位置有教强的抵抗力。

总结

本文的目的在于对工作负荷运行的结果,介绍并应用一些简单的统计分析方法。通过使用图形方法与数字方法的合并,我们就能够对数据集作出其他的质量度量了。

在第一部分中,我们讨论了怎样对数据集应用分布式模型的想法。这就向我们提供了数据如何分布的高层次视图。

当我们的数据集在进行分析时,我们会观察到数据集是非对称性的,并且包含了大量的具体信息,这指示了正的外泄。日志规划分步曲线会根据数据集进行拟合,而拟合并不十分精确,因此并不是十分可靠的。

在第二部分中,我们通过图像方式度量了数据集分散度的层次。通过使用箱线图,我们就能够在数据集中演示高层次的歪斜度(正外泄)。右外泄由一系列的异常值组成,或者一系列执行糟糕的交易组成。对于交易的调查,由于需要大量的数据所以执行地相当糟糕。

在最后的部分中,我们通过范例显示了中间值和标准偏差对于数据集内的分散度都没有多大的抵抗力。我们介绍了位置的其他度量手段,中间以及内部四分位范围。

通过应用中间值和四分位范围作为位置的度量手段,我们可以看到它们对分散度有较大的抵抗力。理想条件下,当您在分析数据集时,对位置的所有四种度量手段都应该使用的到。

在理想的情况下,我们希望我们的数据在中央点附近生成(这就是说,中间值和度量值是相当的),分散度很低以及最小的歪斜度。正如我们可以从数据集中可以看到的那样,这不是事实的情况。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=605722
ArticleTitle=度量工作负荷交易响应时间的分布情况
publish-date=12212010