我的组织正在进行一场有趣的内部辩论,涉及到一个问题,我想向整个社区开放。
争议的焦点是我们进行压力测试、容量测试、性能回归测试等的环境。
在辩论的一方是一些软件工程师,他们希望这个环境尽可能模拟生产环境,以便结果更有意义。虽然我们目前有一个用于此类测试的环境,但它的能力远不如生产系统,这些软件工程师认为已经达到了从中学习的极限。
另一方面是一些网络工程师,他们管理这些环境并控制资金。虽然他们承认容量测试在更好地模拟生产环境的环境中会更好,但他们认为,为了进行压力测试,一个更谦虚的环境会放大性能瓶颈,使它们更容易发现和修复。
最后引起我的兴趣的是:一位软件工程师提出,尽管更谦虚的压力环境将增加遇到一些瓶颈的可能性,但并不一定能帮助你找到下一个你可能在生产中遇到的瓶颈。他认为,扩展效应可能不是线性的。
这种观点有道理吗?如果有,为什么?导致这种非线性的原因是什么?
这里涉及到许多复杂的部分:一组Java应用服务器、一组数据库服务器,为每个 HTTP 请求生成大量动态内容。
编辑:感谢大家迄今为止的想法,但我真的希望有人能够超越双方立场,并实际回答“为什么”的问题。如果存在这样的非线性,是什么造成了它?最好的情况是,理由可以用CPU、内存、带宽、延迟、子系统之间的交互等方面来表达...... TerryE,你已经很接近了。如果没有其他人参与,您应该将您的评论重新发布为悬赏的答案。