我的组织现在正在进行一场有趣的内部辩论,这引发了一个我想向整个社区公开的问题。
手头的问题是我们在其中进行压力测试、容量测试、性能回归测试等的环境。
争论的一方是一些软件工程师,他们希望这个环境尽可能地反映生产环境,以使结果尽可能有意义。虽然我们目前确实有这样的测试环境,但它的能力远不及生产系统,这些软件工程师觉得他们已经达到了他们可以从中学习到的极限。
争论的另一端是一些网络工程师,他们既管理环境又控制钱包。虽然他们承认在更好地复制生产环境的环境中进行容量测试会更好,但他们认为——出于压力测试的目的——更适度的环境会放大性能瓶颈,使它们更容易发现和修复。
这最终将我们带到了引起我兴趣的部分:一位软件工程师建议,虽然压力环境更温和会增加您遇到瓶颈的可能性,但这并不一定意味着它会帮助您找到下一个瓶颈。在生产中遇到。他认为,规模效应可能不是线性的。
这种观点有道理吗?如果是,那为什么?这种非线性的根源是什么?
这里涉及很多活动部分:Java 应用程序服务器集群、数据库服务器集群、每次 HTTP 命中都会生成大量动态内容。
编辑:到目前为止,我很欣赏每个人的想法,但我真的希望有人能做的不仅仅是重新肯定一方,而是真正解决“为什么”的问题。如果存在这样的非线性,是什么导致了它?更好的是,如果用 CPU、内存、带宽、延迟、子系统之间的交互、你有什么来表达原因,那就太好了……TerryE,你最接近了。如果没有其他人站出来,您应该重新发布您的评论作为赏金的答案