DropBear PoC

Contents

  • Diagram
  • First Implementation
  • Next steps

General diagram

Session & Worker Gen

Worker Gen

Worker Gen

Redis Server

Worker

Publisher

Subscriber

Basic Procedure

  1. Create sessions
  2. Create workers
  3. Assign worker to session
  4. Assign role to worker (publisher / subscriber)
  5. Start the workers
  6. Go back to 1 until all total number of sessions has been reached, or the maximum test duration expires

Show me the code!

https://github.com/opentok/dropbear

Next steps

  • Add synthetic video/audio
  • Improve Redis-related code
  • Randomize publishers and subscribers duration
  • Add more types of sessions, i.e.:
    • 1:0 (for CDN broadcast)
    • 1:N (N large)
  • Add archiving:
    • Individual
    • Composed
  • Add broadcast
  • Gather statistics

Next steps (II)

  • Measure CPU and Memory usage in OpenTok node(s)
  • Choose an arbitrary target Mantis node (for periodic production checks)
  • Detect errors based on workers' output and trigger alarms
  • Custom ramp-up for workers
  • Use both Mantis and P2P sessions
  • Remotely wake-up machines when needed to run more clients
  • Expire redis keys
  • Clean up after the tests
  • HTTP interface in master node to get info, stop test, ...
Made with Slides.com