Does it scale for a large company?

How well would Mattermost scale to a company with 10,000+ employees?

Is there a maximum number of requests per second that can be handled?

Is there an upper bound or could Mattermost scale infinitely for a large company on a well supported server?

Any insight is appriciated!
Thanks!

According to the documentation a single machine should be able to support that size.

Are you thinking of offering Mattermost as a SaaS service?

That would be interesting.

Thanks! This is a huge help.
The page mentions up to 20k users, but I’m also curious about deployment for larger tech company like IBM or Oracle with 100k+ users. Any ideas what the CPU and Memory requirements would be then?

By directly extrapolating from the numbers given, a 100k person company would need 320 cores and 800 GB or RAM to support mattermost. Do these numbers make sense or is there another way to calculate this?

I’m not really thinking about SaaS but am curious how Mattermost could compete at the large enterprise level.

Hi @groner,

For 100K users it’s probably best to contact the Enterprise team, as it’s their mission to make large organizations successful on the Mattermost platform.

Mattermost is built in Golang and React, two technologies created by Google and Facebook (respectively) to power their real-time, internet scale applications. 100K users is modest compared to what those technologies are designed to handle.

Update: More details on scaling now included in FAQ

@it33, is there any way to deploy Mattermost to more than one server and spread the load? I’m looking to potentially support 4000-10000 users, and it may be a challenge to provision a single machine with the resources required. At a minimum, I assume I can separate the database and server, would that shed much load?

Also, just to double check, are the users in the guidelines “active concurrent users”, or simply any registered user.

Hi @it33

Just using tech that’s been built by Google and Facebook doesn’t make a solution scalable. Mattermost uses Go. Perfect! One of the reasons, I would like to use Mattermost. But rest of the techstack doesn’t seem to be built for scale (we are talking a million users as a minimum). Mattermost uses MySQL or Postgres as datastore. There is no usage of cache. In fact, usage of Redis was removed and the reason given (by you) for it’s removal Is Redis still used? didnot make sense to me. Other than Go, all of the above would constraint me in order to scale operations and make it quite expensive to keep adding mysql servers.

I would also like to mention that I am not interested in using an ‘enterprise’ version as a solution to scale, which would defeat the purpose of using an open source solution. For enterprise I would simply use Slack or hipchat.

As it stands, Mattermost fundamentally is constrainted for scaling. I have another question open which I hope someone from Mattermost will answer Scaling Mattermost for SaaS

@cpitman
You can use HaProxy, KeepAlived and MySQL clustering to spread the load. You can also front Mattermost with nginx by configuring nginx as a loadbalancer.

But to be honest for the numbers that you’ve suggested you don’t need to do any of that. A single machine (for mattermost and database each) should be able to support 10k users.