【问题标题】:Load testing a complex workflow负载测试复杂的工作流程
【发布时间】:2016-05-03 19:19:29
【问题描述】:
我想对一个网站进行负载测试。该网站主要用于提交画册,主要有两个工作流程:
用户注册的一个工作流程:
- 创建一个新帐户
- 输入用户名、密码、电子邮件地址
- 同意条款
- 上传头像图片
另一个提交相册的工作流程:
- 登录
- 使用名称、位置等创建新相册。
- 上传图片
- 标签图片
- 重复 3 次(0 到 n 次)
- 提交
这些工作流程需要相当长的时间来执行(提交新专辑最多需要 5 分钟)。如果我想每秒生成 1 个专辑提交,我将运行 5 * 60 = 300 个线程。
对数据也有限制:
- 一个用户不能有两个同名的相册
- 一张图片不能上传两次或由两个不同的用户上传
我想知道其他具有类似工作流程的网站如何进行负载测试以及推荐的方法是什么。
【问题讨论】:
标签:
performance
performance-testing
【解决方案1】:
测试数据对于任何性能测试都非常重要,应用程序中使用的测试数据必须是唯一的,否则重复的才可以工作。
在您的应用程序中,它必须是唯一的,因此我建议您需要为每个场景分别创建测试数据,并使用足够数量的记录来完成每个事务,而无需任何相互依赖。
对于专辑名称,您可以创建唯一名称以在脚本中附加数据和时间,例如 - TData_0605_1205
同样,您需要构建大量的图像存储库,可以持续 300 * 总负载测试时间(分钟),这些图像的命名约定可以是增量的,比如 TImage1、TImage2、TImage3..... .......TImagen,在你的脚本中,编写一个逻辑以顺序方式选择图像,增量为 1,这个数字可以从线程计数/迭代计数中获得,具体取决于你编写框架的方式。
希望这会有所帮助。
谢谢,
巴斯卡尔
技术负责人
思想框架公司
客服:+1-619-630-5034