我正在测试负载测试器的光泽,无法记录会话。在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,以便可以开始对应用程序进行负载测试。谢谢。
答案 0 :(得分:1)
从软件包的vigentte到GitHub thread,作者清楚地指出您不能以shinyapps.io上托管的Shiny应用为基准:
在部署限制下,它显示:
1。必须使用WebSockets :在RStudio Connect和Shiny Server Pro上,为了支持不支持WebSockets的浏览器和负载均衡器,使用了SockJS而不是普通的WebSockets。即使Shiny在没有WebSocket支持的情况下也可以工作,但是Shinyloadtest却不能。
2。不支持Shinyapps.io :无法记录或测试负载在http://www.shinyapps.io/上部署的应用程序。
相反,文档建议您将软件包安装在开发计算机上。
否则,shinyloadtest
可以正常工作(在R 3.5和更高版本的多个版本上测试)。函数record_session()
将已部署应用程序的URL作为参数:
shinyloadtest::record_session('https://your-deployed-shinyapp.com/')
摘自文档:
运行该功能将打开显示应用程序的浏览器。打开后,以普通用户的身份与应用程序进行交互,然后关闭浏览器。关闭浏览器窗口或选项卡后,将创建一个包含会话记录的文件。该记录默认情况下会写入recording.log,它将作为负载测试的基础。