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

Performance Requirement #1885

Open
1 task done
rider8581 opened this issue Oct 26, 2021 · 3 comments
Open
1 task done

Performance Requirement #1885

rider8581 opened this issue Oct 26, 2021 · 3 comments

Comments

@rider8581
Copy link

rider8581 commented Oct 26, 2021

Hi there.
Thank you for your contribution.
I have deployed my own server and built the android app connected to my own server.
I am going to enable "Advanced / Maintain Connection to server" by default.
In this case, all the users will keep the WebSocket connection to my server.
If there are 200 users, would it make a big load on the server? What specs of the server would be needed?
Please kindly give me some comments.

@jschaul
Copy link
Member

jschaul commented Oct 27, 2021

The documentation at https://docs.wire.com/how-to/install/planning.html#production-installation-persistent-data-high-availability has some guidelines on server specs. The WebSocket is held with the cannon component which is a subcomponent of wire-server which runs on a kubernetes worker node. So the CPU/memory specs of the kubernetes nodes above is what you're looking for. 200 users should not be any problem with the default settings.

Does this answer your question?

@rider8581
Copy link
Author

Thank you for your comment,
I have installed the server on Docker for demo.
And as you know, on Android app, there is a setting for "maintain connection to server in background" which is disabled by default.
So when the user enable this setting, he will keep connection (websocket) even the app is not in foreground.
I am going to customize android app to enable this setting by default so when I have 200 users, all they keep connection to server.
I put 16GB ram and 8 core on server.
I am not sure if this is enough for 200 websocket connections at the same time.

@akshaymankar
Copy link
Member

I think cannon should be fine with 200 websockets on a machine with 16 GB RAM and 8 cores.
But, you may face other problems like making sure that the data persists in the DB after reboots if you're using the demo setup with docker. For production use, please follow the docs at https://docs.wire.com/

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

3 participants