在 Shiny 上多个场景的 RSelenium 并发用户

Cle*_*ang 6 selenium r shiny rselenium rsdriver

我正在尝试在我部署的 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 Code Online (Sandbox Code Playgroud)

run_tests 打开一个新的网络驱动程序并在网页上导航。

一个解决方案是让几个同事为 3 个进程运行此代码,但我想达到 20 个用户。

Windows 上的回答会更受欢迎,但 Linux 不是问题。您知道使用 RSelenium 执行此操作的正确方法吗?非常感谢任何线索。

K. *_* B. 1

我对 JMeter 有一些经验,但它似乎不适合您的情况,如此处所写

Shiny 依赖 Javascript 来响应用户交互并与 R 进行通信,而不是 RESTful HTTP 调用。这意味着像 JMeter 这样的标准负载测试框架不能准确地模拟负载。

请查看shinyloadtest的信息。我个人没有使用过,但是根据文档它可以在Windows下安装并支持:

  • 记录应用程序的典型用户会话。
  • 并行重播会话,模拟许多同时访问该应用程序的用户。
  • 分析负载测试的结果并确定应用程序的性能是否足够好。

希望这可以帮助。