如何对整个存储基础设施进行基准测试

如何对整个存储基础设施进行基准测试

我百分之百地确定我不是第一个考虑对整个基础设施进行基准测试的人,但我还没有找到任何有关如何应对这一挑战的相关信息。

我想我们都知道我们在谈论什么,所以我会尝试尽可能简短地描述这个场景。

我从事托管业务多年,我们总是对新产品进行某种测试。在 Wonder Years,我们进行了一些“ab”、“dd”或“bonnie”等测试,以测试磁盘、CPU 等。

后来我们长大了,需要对我们的商业网站或一些大客户的网站进行基准测试。我们尝试了很多工具,最后选择了 Jmeter 之类的工具,它在很长一段时间内都帮了大忙。最近,我们一直在使用 Locust,这是一个很棒的工具,设置起来不是那么容易,但功能非常强大。

但是现在我们可以说“我们已经成熟了”,我们销售云计算,而且我们面临的风险远不止“网络服务器上的一堆网站”。

作为一名云工程师,您设计了一个能够托管数千台虚拟机的存储解决方案(同样的场景和需求也适用于其他事物,例如大型数据库集群)。您花了几天时间进行计算,并为您分配的预算提出了一些可用的虚拟机数量。我们都知道接下来会发生什么……有人过来说……没办法……我们必须至少装两倍的虚拟机,我们必须赚钱!!

所以……您知道不可能容纳您计算出的两倍数量的虚拟机,但您必须展开谈判并向管理人员提供足够的信息以便达成协议。

问题就在这里……我该如何测试可以托管数千台虚拟机的整个基础设施?我们已经使用过负载分布式测试工具,例如 Jmeter 或 Locust。它们很棒,但有一个大问题:它们是为测试一个 IP 地址而设计的,而不是数千台虚拟机。

所以……我猜很多人遇到这种情况后才意识到没有办法有效地进行测试。不过,我相信你们在某个时候已经找到了一种比用老方法进行测试更现实的方式来测试这样的基础设施。如果你能给我提供任何想法,我将不胜感激。

显然,您需要合适的架构和设置、优质的硬件、日常维护等等。我们为清洁和更新系统所能做的一切事情都已经完成了,但是……我们应该在什么时候停止输入数据?

在准备新系统时我们做对了的事情是:

  • 创建一个 nagios/munin 系统,用于监控主要内容:网络、磁盘延迟等。
  • 根据可用的 TB 数量,创建数百/数千个 vm。
  • 启动所有或大多数虚拟机(有些仅用于占用空间)。
  • 通过 ssh 进入其中的大多数并立即或间歇地执行某种类型的磁盘测试,如 dd、bonnie 或 iozone。
  • 开始“手动”浏览托管在这些虚拟机上的一些网站,并判断它们是否很慢。显然这是一个非常主观的问题。尽管如此,我们可以说,如果网页加载时间少于一秒,大多数人都会感到“高兴”。

有时,只需查看 munin 图表,您就可以看到一些可能的瓶颈,但是我们的服务质量有所下降,因为很多活跃虚拟机的数量少于我们在测试期间设法识别的警告阈值。

所以,总而言之,我知道如果有人已经提出了这个问题的解决方案,那么在 Google 首页上很容易找到,但让我们看看是否有人有策略来正确地对系统的某些小部分进行基准测试。

谢谢。

答案1

我不是专家,但今天一直在阅读有关云基准测试的文章,尤其是 SPEC Open Systems Group 的一份报告:“向 OSG 指导委员会提交云计算报告“。 这CB工具IBM 的开源似乎对您很有用。“云快速实验和分析工具(又名 CBTOOL)是一个通过运行受控实验来自动执行 IaaS 云基准测试的框架。”看起来它专门测试各种云平台上的 VM 配置。

相关内容