我是一个非常新的压力测试,我只是想学习绳索。所以我的问题是:
如果我的开发服务器在软件方面相同但在硬件方面的规格要低得多,那么生产服务器是否值得对开发服务器进行压力测试以识别明显的软件缺陷?
如何最好地对现场制作服务器进行压力测试,而不会潜在地损害用户的体验?或者应该避免对实时生产服务器进行压力测试。
答案 0 :(得分:6)
以下是各种提示/建议:
如果您的应用程序是新的,那么您不知道它是否能够处理它在生产中的负载,那么您需要进行“容量”测试。您应该在生产硬件上进行容量测试,因为它还没有“实时”,不会影响用户。
如果您的应用程序是已在生产中部署的现有应用程序,那么您应该做的是“性能回归”测试。
性能回归测试包括对开发服务器上的所有单个“功能”(无论对您的应用程序意味着什么)进行压力测试,以测量其性能。您将结果记录作为“基线”。
在对应用程序进行更改时,请重新运行性能回归测试,以查看是否有任何结果从基线发生了显着变化(并将新数字记录为新基准)。
如果您的开发服务器上的性能回归结果与基线没有太大变化,那么您可以安全地部署到生产环境而不会改变服务器利用率(即过载)。
答案 1 :(得分:2)
我认为你应该避免任何工作,包括生产机器上的压力测试,除非你知道你有一个问题,你不能在你的测试环境中重现 - 也就是说你可能知道你的用户'在夜间使用系统?如果测试只是非介入/只读,那么我会说这是一个额外的选择。
至于在周末机器上的分析性能并不是那么糟糕 - 大多数瓶颈都是由系统的糟糕架构引起的,并且应该在不同的硬件配置上可见,只是在不同的负载情况下 - 可能更容易注意到在周末机器上的问题,所以我说压力测试和优化你的开发系统,你会知道至少理论上你的生产系统应该更好。