Performance Requirement
rider8581 opened this issue · 3 comments
- I have seen https://docs.wire.com/ and https://github.com/wireapp/wire-server-deploy - the documentation there does not answer my question.
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.
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?
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.
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/