gpt4 book ai didi

benchmarking - 对于编写有意义的基准,您能给我什么建议?

转载 作者:行者123 更新时间:2023-12-04 16:57:21 27 4
gpt4 key购买 nike

我开发了一个框架,供我们组织中的几个团队使用。在这个框架之上开发的那些“模块”可以表现得非常不同,但它们都非常消耗资源,即使有些比其他的更多。他们都在输入中接收数据,分析和/或转换它,然后进一步发送。

我们计划购买新硬件,我的老板让我根据模块定义和实现基准测试,以便比较我们得到的不同报价。

我的想法是简单地以一组精心挑选的数据作为输入按顺序启动每个模块。

你有什么建议吗?对这个简单的程序有何评论?

最佳答案

你的问题很广泛,所以很遗憾我的回答也不会很具体。

首先,基准测试很难。不要低估产生有意义的、可重复的、高度可信的结果所需的努力。

第二,你的绩效目标是什么?是吞吐量(每秒的事务或操作)吗?是延迟(执行交易所需的时间)吗?你关心平均表现吗?我关心最坏情况下的性能吗?你关心绝对最坏的情况还是我关心 90%、95% 或其他百分位数获得足够的性能?

根据您的目标,您应该设计基准来衡量该目标。因此,如果您对吞吐量感兴趣,您可能希望以规定的速率将消息/事务/输入发送到您的系统,并查看系统是否跟上。

如果您对延迟感兴趣,您将发送消息/事务/输入并测量处理每一个需要多长时间。

如果您对最坏情况下的性能感兴趣,您将向系统添加负载,直到您认为“现实”(或系统设计说它应该支持的任何内容)。

其次,您没有说这些模块是否会受 CPU 限制、I/O 限制、它们是否可以利用多个 CPU/内核等。当您尝试评估不同的硬件解决方案时,您可能会发现您的应用程序会受益更多来自出色的 I/O 子系统与大量 CPU。

第三,最好的基准(也是最难的)是将实际负载放入系统中。这意味着,您记录生产环境中的数据,并通过这些数据放置新的硬件解决方案。完成这项工作比听起来要难,通常,这意味着在系统中添加各种测量点以查看其行为(如果您还没有)修改现有系统以添加记录/播放功能,修改播放以不同的速率运行,并获得一个真实的(即类似于生产)环境进行测试。

关于benchmarking - 对于编写有意义的基准,您能给我什么建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/324200/

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