kvm性能测试 容器_为什么容器是测试软件性能的最佳方法

kvm性能测试 容器

当我们谈论应用程序开发时,软件性能和可伸缩性是常见的话题。 主要原因是应用程序的性能和可伸缩性直接影响其在市场上的成功。 如果应用程序的响应时间很慢,则无论其用户界面多么出色,都不会占据市场份额。

这就是为什么我们会花费大量时间来提高应用程序的性能和可伸缩性,因为它的用户群不断增长。

常规测试实践失败的地方

幸运的是,我们有很多工具可以在高压力条件下测试软件行为。 还有一些工具可以帮助确定性能和可伸缩性问题的原因,其他基准测试工具可以对系统进行压力测试,以提供高负载下系统稳定性的相对度量。 但是,当我们尝试使用这些工具来了解企业产品的性能时,就会遇到性能和规模工程方面的问题。 通常,这些产品不是单一应用程序。 相反,它们可能由几个相互交互的不同应用程序组成,以提供一致和统一的用户体验。

如果仅测试产品的单个组件,则可能无法获得有关产品性能和可伸缩性问题的任何有意义的数据。
如果仅测试产品的单个组件,则可能无法获得有关产品性能和可伸缩性问题的任何有意义的数据。 仅当我们在实际场景中测试应用程序时(即通过使整个企业应用程序经受实际工作负载),才能收集实际数字。

问题就变成了:我们如何在测试场景中实现这种实际工作量?

救援容器

答案是容器 。 为了说明容器如何帮助我们理解产品的性能和可伸缩性,让我们以软件配置管理工具Puppet为例。

Puppet使用客户端-服务器体系结构,其中有一个或多个Puppet主服务器(服务器),要使用Puppet配置的系统运行Puppet代理 (客户端)。

puppet master and agents

要了解应用程序的性能和可伸缩性,我们需要从运行在各种系统上的代理向Puppet主服务器施加高负载。

为此,我们可以在一个系统上安装puppet-master ,然后运行多个容器,每个容器都在运行我们的操作系统,然后在该容器上安装并运行puppet-agent

接下来,我们需要配置Puppet代理以与Puppet主服务器交互以管理系统配置。 这在处理请求时使服务器承受压力,而在更新软件配置时使客户端承受压力。

那么,容器在这里有何帮助? 我们不是刚刚通过脚本模拟了Puppet主机上的负载吗?

答案是不。 它可能已经模拟了负载,但是我们对它的性能有了非常不切实际的看法。

原因很简单。 在现实生活中,除了puppet-agentpuppet-master之外,用户系统还将运行许多其他进程,其中每个进程消耗一定数量的系统资源,因此通过限制Puppet可以使用的资源直接影响Puppet的性能。

这是一个简单的示例,但是当处理包含多个组件的产品时,企业应用程序的性能和规模工程可能会真正面临挑战。 这是容器发光的地方。

为什么使用容器而不是其他?

一个真正的问题是:为什么使用容器而不使用虚拟机(VM)或仅使用裸机?

运行容器背后的逻辑与我们可以启动的系统的容器映像数量有关,以及它们与替代方案相比的成本。

尽管虚拟机提供了强大的机制,但它们也招致了系统资源的大量开销,从而限制了可以在单个裸机服务器上复制的系统的数量。 相比之下,根据您要实现的模拟类型,在同一系统上甚至可以启动1,000个容器,同时保持较低的资源开销相当容易。

使用裸机服务器,性能和规模可以根据需要实现,但主要问题是成本开销。 您是否会购买1,000台服务器进行性能和规模试验?

这就是为什么容器总体上提供了一种经济,可扩展的方式来针对实际场景测试产品性能,同时保持对资源,开销和成本的控制。

在洛杉矶举行的开源峰会上 ,Saurabh Badhwar的演讲“ 使用容器测试软件性能和可伸缩性”中了解更多信息。

翻译自: https://opensource.com/article/17/8/containers-software-performance-and-scale

kvm性能测试 容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值