0

我正在从闪亮测试负载测试器,但在记录会话时遇到问题。从来自 Rstudio https://resources.rstudio.com/webinars/load-testing-shiny-alan-dipert的这个 youtube 视频中,讲师提到抓取已部署应用程序的 url。我已经尝试了我的服务器/浏览器应用程序的 url 和我在 shinyapps io 上部署的应用程序的 url。我也尝试在 Rstudio Cloud 上运行它,然后我被重定向到一个登录名,然后我会遇到 404 错误。我尝试从 Mozzila、Microsoft Edge 和 Chrome 获取 URL,但没有成功。

library(shinyloadtest)
#server application
record_session("http://127.0.0.1:3793/") 
Error in curl::curl_fetch_memory(appUrl, handle = h) : 
  Failed to connect to 127.0.0.1 port 3793: Connection refused

#deployed shiny app
record_session(" https://finance.shinyapps.io/PrivateApp/")#this is not the real url
Error in .subset2(public_bind_env, "initialize")(...) : 
  Recording shinyapps.io apps is not supported

我正在寻找要添加到 record_session 的正确 url,以便我可以开始对我的应用程序进行负载测试。谢谢你。

4

1 回答 1

1

从包的vigentteGitHub 线程中,作者清楚地表明,您不能对托管在 shinyapps.io 上的 Shiny 应用程序进行基准测试

在部署限制下它说:

1. 需要 WebSockets:在 RStudio Connect 和 Shiny Server Pro 上,为了支持不支持 WebSockets 的浏览器和负载均衡器,使用 SockJS 代替普通的 WebSockets。即使 Shiny 在没有 WebSocket 支持的情况下工作,shinyloadtest 也不能​​。

2. shinyapps.io unsupported : 部署在http://www.shinyapps.io/的应用程序不能被记录或负载测试。

相反,文档建议你应该在你的开发机器上安装这个包。

否则,shinyloadtest工作得很好(在 R 3.5 及更高版本的多个版本上测试)。该函数record_session()将已部署应用程序的 URL 作为参数:

shinyloadtest::record_session('https://your-deployed-shinyapp.com/')

取自文档:

运行该函数将打开一个显示应用程序的浏览器。打开后,像普通用户一样与应用程序交互,然后关闭浏览器。关闭浏览器窗口或选项卡后,将创建一个包含会话记录的文件。此记录默认写入recording.log,将作为负载测试的基础。

于 2019-03-16T11:50:25.670 回答