livepeer / livepeer/stream-tester

Better simulate real load

Open
#20 0 comments 0 reactions 1 assignee Claimed by @darkdarkdragon View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.