kStress is a implementation of Locust to test Kaltura's eCDN KES nodes
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
config.py.template
kstress.py

README.md

kStress

kStress is a implementation of Locust to test Kaltura's eCDN KES nodes.

Note:

This code is not created nor supported by Kaltura.

Features:

  • Test multiple entries at the same time (VOD and LIVE)
  • LIVE: mimic player behaviour when pulling new segments
  • Easy configuration
  • Locust will hit a KES based on the eCDN delivery rules, as normal user would do
    • Parent-child supported
    • "API gateway" not yet supported

Requirements:

How to use (single server):

  • Install Locust
  • Install Kaltura's Python client library
  • Clone this code
  • Rename config.py.template to config.py and edit as needed (PID, secret, entries)
  • Run Locust, specifying the file:
    $ locust -f kstress.py 
    
  • Connect to Locust WebUI (ex: http://127.0.0.1:8089) and start stressing!

How to use (multi server):

  • On all servers:
    • Install Locust
    • Install Kaltura's Python client library
    • Clone this code
    • Rename config.py.template to config.py and edit as needed (PID, secret, entries)
  • On master server:
    • Run Locust, specifying the file and master:
    $ locust -f kstress.py --master
    
  • On slave servers:
    • Run Locust, specifying the file and master:
    $ locust -f kstress.py --master-host={IP_OF_THE_MASTER_SERVER}
    
  • Connect to Locust WebUI on master (ex: http://127.0.0.1:8089) and start stressing!

Screenshots:

screenshot01 screenshot02 screenshot03 screenshot04 screenshot05