Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service load testing #43

Open
4 tasks
danstiner opened this issue Dec 1, 2020 · 1 comment
Open
4 tasks

Service load testing #43

danstiner opened this issue Dec 1, 2020 · 1 comment

Comments

@danstiner
Copy link
Collaborator

Before launch we should have a target maximum number of simultaneous streamers/viewers and both be confident we can reach those numbers and have an idea of how many servers it will take to get there.

We can do some napkin math for an idea but Hayden and I chatted and agree the ideal approach would be to simulate load and see how the service behaves.

Steps

  • Define a target number of simultaneous streamers and viewers we want to support at launch
  • Find or create a tool that can spin up a number of ftl client streams to simulate streamers
    • https://github.com/Glimesh/ftl-sdk/tree/master/ftl_app may be relevant, existing tools probably will not exist for a basically custom protocol
    • Would it be crazy to use this as a chance to experiment with Rust since it'll probably be a separate codebase from this plugin?
  • Find or create a tool that can spin up a number of WebRTC clients to simulate viewers
  • Run the load tests
    • We'll need multiple large, high-bandwidth servers to run the tests from
@haydenmc
Copy link
Member

haydenmc commented Dec 2, 2020

I think @clone1018 has some rough numbers for the first bullet.

haydenmc pushed a commit to Glimesh/ftl-sdk that referenced this issue Dec 6, 2020
The original links to download a demuxed version of Sintel are all broken links now, I think this is a reasonable set of options to start with and I confirmed the outputs work with `ftl_app`, though the audio seems to get out of sync.

This of course can be further improved but it's a step towards Glimesh/janus-ftl-plugin#43 to have a single-purpose tool that sends a stream to ingest.
tyiki-badwell added a commit to tyiki-badwell/ftl-sdk that referenced this issue Mar 13, 2021
* feat(ftl-sdk): updating to new best endpoint and docker builds

Added Docker Build
Added call to new Best v2 endpoint
Added more verbose logging and error handling
Added use of linter
Increase the length of vendor name and version

* adding execute into git for scripts

* cmake: Use external jansson if possible

* cmake: Install into standard directories

* cmake: Install a pkgconfig file

* Add instructions for generating compatible audio/video streams (#2)

The original links to download a demuxed version of Sintel are all broken links now, I think this is a reasonable set of options to start with and I confirmed the outputs work with `ftl_app`, though the audio seems to get out of sync.

This of course can be further improved but it's a step towards Glimesh/janus-ftl-plugin#43 to have a single-purpose tool that sends a stream to ingest.

Co-authored-by: Nathaniel von Sprecken <[email protected]>
Co-authored-by: Jan Alexander Steffens (heftig) <[email protected]>
Co-authored-by: Hayden McAfee <[email protected]>
Co-authored-by: Daniel Stiner <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants