Why it’s important to upgrade your Mattermost Server

Upgrading your Mattermost server involves a bit of research, preparation, and downtime. The pressure to keep your Mattermost instance healthy and reduce downtime for a core system within your organization can be intimidating. 

Recently, we worked with a handful of customers who were experiencing issues upgrading from Mattermost v5.37 and v5.39 to v6.x. Unfortunately, migration scripts were required to make significant database changes, and there was an issue in product performance. Furthermore, many new features had been built over the years that required a retrospective analysis of optimizations. Customers who used Collapsed Reply Threads in the beta state saw very high memory and CPU utilization.   

We listened to your feedback and took action.

Because of this feedback and collaboration with our customers, particularly understanding their environment and usage much more intimately, we have invested in improving performance within Mattermost. We coordinated a performance investigation to deeply understand where we could improve. From this investigation, we’ve made many improvements, including: 

  • Identifying and fixing high CPU utilization from the web app for users with a large number of direct message and group message channels; 
  • Optimizing the performance of key actions performing slowly, such as ‘team switch time’;
  • Identifying and fixing performance issues related to the Collapsed Reply Thread feature.
  • Publishing recommendations for tuning MySQL;
  • Training our Support and Customer Engineering staff more deeply on performance debugging and profiling.

Furthermore, we bolstered our performance testing processes to be more comprehensive and representative of our customers’ environments and added resources to our performance team. 

We are proud to share that Mattermost versions 6.7 and higher perform better than ever. 

One customer reported that when they went from v6.6 to v6.7, they saw a reduction of almost 20% of the prior database usage. Before the upgrade, they hit 100% database CPU almost every morning. At their heaviest load, they would hit 100% database every ~30 minutes. Now their database stays around 60% CPU utilization during heavy traffic.

Customer data and our own load tests confirm that our actions have had the impact we hoped for in ensuring Mattermost v6.7 and higher have optimal performance. 

Results of our load testing after making performance optimizations for the Collapsed Reply Thread feature.
Results of our load testing after making performance optimizations for the Collapsed Reply Thread feature. 

Key takeaway: Upgrades ensure your system is current and healthy. 

Upgrades to Mattermost releases include the following updates: 

  • Security fixes security updates are released often, so you don’t have to worry about exposing Mattermost to potential threats. Security issues are found via our dedicated product security team and by active HackerOne and bounty programs. Editor’s note: This HackerOne program is no longer active; see our Security Vulnerability Report page for information on active bug bounty programs.
  • Performance and bug fixes – issues adversely affecting the user experience and performance of Mattermost for a large percentage of our user base are also released often. We release smaller-impact fixes in the next monthly version. 
  • New Features – features that make your team more productive and improve the satisfaction of capabilities of existing features are typically released monthly as well. 

Additionally, our releases have a lifecycle to ensure you are getting the latest and greatest experience on versions that fit your upgrade cadence. We backport security and high-impact issues to our last three versions and our supported extended support releases (ESRs)

We are committed to making upgrades easier. 

Over the next few quarters, we’re working on many ways to help make upgrades easier for you. First, we’ll release signed packages for server installations (both deb and rpm). These packages will reduce upgrade efforts to a single command and will allow better use of any orchestration tools you use. In parallel, we’re focusing on how to automatically configure your installation as part of your upgrade, ensuring you always get the new features enabled alongside the optimizations.

We highly recommend checking out our newest releases and begin planning your next upgrade now. We also recommend turning on in-product notices to stay up to date with important information regarding the availability of new releases and features.  

If you need support on an upgrade, please don’t hesitate to reach out to us at https://support.mattermost.com

Neil Barnett is Sr Product Manager for Distribution at Mattermost.