livepeer / livepeer/stream-tester
Better simulate real load
- Dominant language
- Go
- Stars
- 24
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
With RTMP, stream-sender doesn't have control over segmentation process, so each time it streams into B, it gives exactly same load.
With HTTP, stream-tester doing segmentation itself, so it gives ability to segment stream differently, even randomising segment's lengths during one stream.
So now we can implement Josh simulation algorithm from [here](https://github.com/livepeer/go-livepeer/issues/1112) but using real streams.
* New streams arrive as part of a Poisson process
* Stream lengths are normally distributed (median, say, ~"45 mins" with a slightly fatter tail at each end)
* Each stream has a random set of transcoding renditions : min 2, max 5, selected from videoprofile.go (uniformly?)
* Stream segment lengths are selected from: [2s, 4s, 10s] with weights of [0.8, 0.15, 0.5] respectively. (Could also try totally randomizing this between 2-10s.)
* Segment lengths within a stream are exponentially distributed.
* Segments generally "arrive" one after the other with a small amount of jitter.
Also we should create mode in which load will be gradually increased util it falls below specified threshold.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.