我正在尝试在我部署的 Shiny 应用程序上使用 RSelenium 进行充电测试。几个用户连接到地址并同时执行随机任务。
我已经搜索了doParallel
但并发进程的数量受到核心数量的限制 - 1。
我尝试了以下命令行同时在后台启动N个进程。给出一个数字作为参数来定义浏览器的端口。它一直工作到 3 个进程,但在某些进程失败并且并不总是相同。
'start /b "P1" Rscript R/run_tests.R 1 &
start /b "P2" Rscript R/run_tests.R 2 &
start /b "P3" Rscript R/run_tests.R 3 &
start /b "P4" Rscript R/run_tests.R 4 &
start /b "P5" Rscript R/run_tests.R 5'
run_tests
打开新的 Web 驱动程序并在网页上导航。
一个解决方案是要求几位同事为 3 个进程运行此代码,但我想达到 20 个用户。
在Windows上的答案将更加受欢迎,但Linux不是问题。你知道用硒做的正确方法吗?非常感谢任何线索。
我对 JMeter 有一些经验,但它似乎不适合您的情况,如此处所写。
Shiny依靠Javascript来响应用户交互和 与 R 通信,而不是 RESTful HTTP 调用。这意味着 像JMeter这样的标准负载测试框架并不准确 模拟负载。
请查看闪亮负载测试的信息。我没有亲自使用它,但根据文档,它可以安装在 Windows 和支持下:
- 记录应用的典型用户会话。
- 重播会话 并行,模拟许多同时访问应用程序的用户。
- 分析 负载测试的结果,并确定应用是否运行良好 足够。
希望这有帮助。