【问题标题】:How do I ensure accurate results of stress tests?如何确保压力测试的准确结果?
【发布时间】:2015-05-10 16:39:12
【问题描述】:

我为一个项目编写了一个脚本,该脚本在运行 vmstat、iostat 和 sar 的同时对 cpu、vm 和 i/o 进行压力测试。脚本全部运行 30 秒。然而,我的导师要求我确保结果是准确的?我怎么能确定呢?当然,在运行了一些测试之后,我只是相信机器的话?每个测试都运行了 60 秒,因此有命令尝试确保公平测试,但是根据导师的担忧,我如何确定它们是准确的?有什么想法吗?

系统是 Ubuntu 12.04、Debian 7 和 Suse 11 的服务器版本

【问题讨论】:

  • 您的导师可能指的是确保没有多余的程序/守护程序与测试一起运行。
  • 30 秒听起来也是一个有限的采样窗口。也许在一天中的不同时间等运行它在更长的一段时间内多次运行以提高统计有效性。
  • 对不起,我的意思是 60 秒,它们都运行了 60 秒,因为我认为这足够长,但仍然足够短,可以在需要时运行多次。我已经关闭了 Windows 和 linux 上的所有其他进程,并且只有一个程序——我的虚拟机正在运行。使用压力命令-no sysbench 或任何使用的东西运行测试。还有什么其他方法可以保证它们是准确的吗?经过几次测试,结果似乎都一样。
  • @paul 可能会收集您为确保结果的有效性所做的所有上述努力的可验证数据?
  • @paul 我想,在我看来,您正在努力进行测试,但您的导师要求更多。也许你应该问问他/她到底想从你那里得到什么。

标签: linux bash ubuntu-12.04 performance-testing stress-testing


【解决方案1】:

没有办法知道你的导师关心的是什么,所以你应该问他!

“准确性”通常意味着您的测试结果不应被您未考虑的因素所抵消,例如某些 CPU 功能被禁用或未使用、软件配置的差异等。

无论如何,您评估的是什么?评估 CPU 性能与评估特定硬件系统不同,如果您也考虑软件,这也是不同的。基本上,您需要消除所有不属于您评估的差异,并确保其余配置具有代表性(例如,安装支持 CPU 提供的所有功能的现代操作系统)。

请记住,最终您将始终相信机器的话,别无他法。您只能说您已经考虑了所有您知道的因素,并希望未知的因素不会产生太大影响。

【讨论】:

  • 我与导师分享了你的 cmets,他们已经接受了。我也保证了多次测试、无后台进程、关闭windows程序、长时间运行的原则。谢谢。
猜你喜欢
  • 2020-12-16
  • 1970-01-01
  • 2015-04-30
  • 1970-01-01
  • 2014-04-26
  • 2017-05-03
  • 2014-10-02
  • 2014-05-31
  • 2011-08-11
相关资源
最近更新 更多