Web 应用程序的压力测试用例

Posted

技术标签:

【中文标题】Web 应用程序的压力测试用例【英文标题】:Stress test cases for web application 【发布时间】:2014-01-22 02:38:51 【问题描述】:

除了找出允许登录 Web 应用程序的最大用户数之外,还有哪些其他压力测试用例会降低性能并最终导致崩溃?

【问题讨论】:

【参考方案1】:

这个问题很难彻底回答,因为它太宽泛了。

无论如何,许多压力测试都取决于工作负载的类型和执行流程。有一个entire subject(作为研究生课程)专门用于队列理论和资源优化。大部分事情可以总结如下:

如果您有资源(gpu、cpu、内存库、机械或 固态磁盘等),它可以为每个用户/请求提供服务 秒并且需要 X 量的时间来完成一个工作单元。 确保您没有超出其限制。

也可以使用概率方法研究某些系统(Little's Law 是这些情况下最基本的规则之一)

【讨论】:

【参考方案2】:

负载/性能测试有很多原因,其中许多可能对您的项目目标并不重要。例如: - 在给定负载下系统的性能如何? (负载测试) - 系统可以处理多少用户并且仍然满足一组特定的性能目标? (负载测试) - 在特定负载下,系统的性能如何随时间变化? (浸泡测试) - 系统何时会在负载增加的情况下崩溃? (压力测试) - 系统如何响应硬件或环境故障? (压力测试)

我有一个关于一些常见的motivations for performance testing 的帖子可能会有所帮助。

【讨论】:

【参考方案3】:

您还应该检查您的网络分析数据,看看人们实际在做什么。 仅仅模拟 X 个登录用户是不够的。找到代表最常见用户活动的场景(2 到 20 个场景之间的任意场景)。

另外,请确保您不只是在读取时访问缓存。在请求中添加一些随机性/多样性。 我见过压力测试,所有用户都在请求相同的数据,这不会给你真实的结果。

【讨论】:

以上是关于Web 应用程序的压力测试用例的主要内容,如果未能解决你的问题,请参考以下文章

面向Web应用的并发压力测试工具——Locust实用攻略

软件测试系列十一《压力测试场景及测试用例模板》

软件测试系列十一《压力测试场景及测试用例模板》

怎样正确做 Web 应用的压力测试

十步完成Web应用程序压力测试(转)

怎样正确做 Web 应用的压力测试