23.2 Benchmarking

How does the app handle multiple users?

23.2.1 Tools

  • shinyloadtest
    • Run an app
    • Record how you interact with the app
    • shinycannon: rerun the session multiple times
    • analyse the log of the reran sessions
runApp("some_app.R")
shinyloadtest::record_session("http://127.0.0.1:9876")
# See "./recording.log"
shinycannon ./recording.log http://127.0.0.1:9876 \
  --workers 10 \
  --loaded-duration-minutes 5 \
  --output-dir run1
library(shinyloadtest)
df <- load_runs("./run1")
shinyloadtest_report(df, "report.html")