我在开发环境中使用JMeter,并考虑在生产服务器上执行健全性测试。网站登录和其他操作的正常性。在生产服务器上使用JMeter是否合理?如何限制JMeter,使其不会影响真实的用户?我只找到了tutorial,这不建议它。除非您知道生产服务器可以处理负载,否则不要对它们运行这些测试,否则可能会对服务器的性能产生负面影响。
qkf9rpyu1#
从JMeter的Angular 来看,在哪里运行测试并不重要。在生产环境中运行负载测试非常有用,因为这种方式可以发现“真实的的”限制,瓶颈,集成和互操作性问题,而在缩小的环境中进行负载测试,您只能猜测或计算预期的生产指标。理想情况下,您应该有某种形式的“登台环境”,它是生产环境在硬件、软件和数据方面的精确副本。如果您不能承担使用“staging”环境的费用,那么您可以在生产环境中运行测试,但是您需要记住几个重要的约束以避免“意外”1.在应用程序真实的使用率最低的“死”时间运行测试,即:晚上或周末。1.确保JMeter测试使系统处于与测试前相同的状态,即如果您创建用户、内容、数据等。- 确保在测试后清理它,这样你的系统就不会充满用于负载测试的“垃圾”数据。因此,可以考虑使用setUpThreadGroup来设置所有必要的测试数据,然后使用tearDownThreadGroup来清理1.确保你监视你的服务器的健康状况,这样当(如果)你的系统过载时,你会得到通知。你可以使用JMeter PerfMon Plugin来实现。1.启用AutoStop Listener也很好,这样JMeter测试就会自动停止1.考虑将SMTP Sampler添加到您的测试计划中,以便在出现意外错误时通知您。
7gyucuyw2#
作为一名工程师,我想说:在我有生之年- )你想听什么这不是问题吗只有你才能知道如果某个东西的行为与你期望的不同,这是否会成为一个问题。我的建议和你引用的一样:别这么做。除非你知道你在做什么,即使这样...
2条答案
按热度按时间qkf9rpyu1#
从JMeter的Angular 来看,在哪里运行测试并不重要。在生产环境中运行负载测试非常有用,因为这种方式可以发现“真实的的”限制,瓶颈,集成和互操作性问题,而在缩小的环境中进行负载测试,您只能猜测或计算预期的生产指标。
理想情况下,您应该有某种形式的“登台环境”,它是生产环境在硬件、软件和数据方面的精确副本。
如果您不能承担使用“staging”环境的费用,那么您可以在生产环境中运行测试,但是您需要记住几个重要的约束以避免“意外”
1.在应用程序真实的使用率最低的“死”时间运行测试,即:晚上或周末。
1.确保JMeter测试使系统处于与测试前相同的状态,即如果您创建用户、内容、数据等。- 确保在测试后清理它,这样你的系统就不会充满用于负载测试的“垃圾”数据。因此,可以考虑使用setUpThreadGroup来设置所有必要的测试数据,然后使用tearDownThreadGroup来清理
1.确保你监视你的服务器的健康状况,这样当(如果)你的系统过载时,你会得到通知。你可以使用JMeter PerfMon Plugin来实现。
1.启用AutoStop Listener也很好,这样JMeter测试就会自动停止
1.考虑将SMTP Sampler添加到您的测试计划中,以便在出现意外错误时通知您。
7gyucuyw2#
作为一名工程师,我想说:在我有生之年- )
你想听什么这不是问题吗只有你才能知道如果某个东西的行为与你期望的不同,这是否会成为一个问题。我的建议和你引用的一样:别这么做。除非你知道你在做什么,即使这样...