gpt4 book ai didi

language-agnostic - 了解何时执行了足够的性能测试迭代的统计方法

转载 作者:行者123 更新时间:2023-12-04 15:42:56 25 4
gpt4 key购买 nike

我正在对服务进行一些性能/负载测试。想象一下测试函数是这样的:

bytesPerSecond = test(filesize: 10MB, concurrency: 5)

使用它,我将填充不同大小和并发级别的结果表。还有其他变量,但你明白了。

测试函数加速 concurrency请求并跟踪吞吐量。这个比率从零开始,然后飙升和下降,直到它最终稳定在“真实”值上。

然而,这种稳定性可能需要一段时间才能出现,并且有很多输入组合需要评估。

怎么会 test函数决定何时执行足够的样本?足够了,我想我的意思是如果测试继续,结果不会改变超出一定范围。

我记得不久前读过一篇关于此的文章(来自一位 jsperf 作者),其中讨论了一种健壮的方法,但我再也找不到这篇文章了。

一种简单的方法是计算值的滑动窗口上的标准偏差。有没有更好的方法?

最佳答案

IIUC,你在描述estimating the confidence interval of the mean with unknown variance的经典问题.也就是说,假设您有 n 个结果,x1, ..., xn,其中每个 xi 都是来自某个您不太了解的过程的样本:不是均值,不是方差,也不是分布的形状.对于某些所需的置信区间,您现在想知道 n 是否足够大,以便真实均值很有可能在均值的区间内。

(请注意,在相对较弱的条件下,Central Limit Theorem 保证样本均值将收敛到正态分布,但要直接应用它,您需要方差。)

因此,在这种情况下,classic solution判断n是否足够大,如下:

  • 首先计算样本均值 μ = ∑i [xi]/n。还要计算归一化样本方差 s2 = ∑i [(xi - μ)2]/(n - 1)
  • 取决于 n 的大小:
  • 如果 n > 30,则置信区间近似为 μ ± zα/2(s/√(n)),其中,如有必要,您可以找到 here关于 z 和 α 的解释。
  • 如果 n < 30,则置信区间近似为 μ ± tα/2(s/√(n));再看 here t 值的解释以及表格。
  • 如果信心足够,就停下来。否则,增加 n。
  • 关于language-agnostic - 了解何时执行了足够的性能测试迭代的统计方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30939045/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com