为我的 Web 应用程序运行随机、程序生成的负载测试

Posted

技术标签:

【中文标题】为我的 Web 应用程序运行随机、程序生成的负载测试【英文标题】:Run a random, procedurally generated load test for my web application 【发布时间】:2021-07-12 20:46:50 【问题描述】:

我想做的事:

从动态工作流向我的 Web 应用程序发送 http 请求。我希望负载测试器 (Jmeter) 生成它自己的工作流程,并将内容发布到我的网站/从我的网站获取内容。

我做了什么:

我有一个虚拟的 Wordpress 站点,用于测试主机上的 CPU 和内存利用率以及负载平衡算法的效率。目前,我正在使用 Jmeter 来设计我的工作流程并测试我的系统。但是,我意识到 Jmeter 只是将相同的工作流发送到负载均衡器。因此,我的后端服务器上的资源利用率是完全相等的。我想测试和利用 CPU 利用率的差异。因此,我需要一种从我的虚拟 Wordpress 网站动态发布/接收内容的方法。

【问题讨论】:

【参考方案1】:

截至目前,JMeter 无法自动生成模拟真实用户对您的应用程序执行各种操作的端到端测试计划,选项如下:

    使用 JMeter HTTP(S) Test Script Recorder 记录预期的 Wordpress 用户活动,在 correlation 动态参数和 parameterization 测试数据(即用户名)之后,您应该能够进行或多或少真实的负载测试 使用像WordPress JMeter Template这样的现成脚本集合 使用基于机器学习 AI 的测试工具,例如 up9 如果您在负载均衡器后面测试网站,请确保将 DNS Cache Manager 添加到您的测试计划中。

【讨论】:

对于您的第四点,我不确定在我的情况下是否有必要。我不熟悉这个概念,但用户应该只看到我的负载均衡器的 IP。 DNS 缓存管理器适用于所有后端 IP 都可见的系统吗?【参考方案2】:

您可以将所有请求放在Random Order Controller下

随机顺序控制器很像一个简单控制器,因为它最多会执行每个子元素一次,但节点的执行顺序将是随机的

【讨论】:

以上是关于为我的 Web 应用程序运行随机、程序生成的负载测试的主要内容,如果未能解决你的问题,请参考以下文章

随机数是骗人的,.NetJavaC为我作证

我的数组随机化函数打印相同的数组 [重复]

在 JavaScript 中为我的牌组生成卡片时出现随机错误

如何在 Ruby on Rails 4 中为 post 生成唯一的随机 id?

20K 用户的 Web UI 负载测试

在 Ruby 中与负载测试一起使用的随机数据生成器 [重复]