Wednesday 

Room 5 

13:40 - 14:40 

Session (60 min)

Mission: Performance Impossible – Real time chat webapp’s performance with 100k active users

Overview of the talk: In this talk, we will delve into the intricacies of quantifying and improving performance for the Mattermost app, an open-source collaboration platform. We will begin by discussing how we measure performance using our in-house client load testing tool. Next, we will explore how we identify and address memory bottlenecks, and tackle the specific performance challenges associated with a reactive and real-time application designed to handle 100k active users. Finally, we will cover the webapp client load testing tool and how we use to measure and validate performance improvements, ensuring our optimisations effectively enhance the app’s performance.

Web
JavaScript
Testing
Tools

Following is the structure and topics of the talk i indent to present:

  • Introduction
    • Self-introduction
    • Overview of Mattermost
    • What to expect from this talk
  • Overview of Mattermost’s Web App Architecture
    • Comparison with other chat applications
    • Unique challenges of being on-premises and their impact on legacy code migration
  • Real-Time Data Handling
    • Management of WebSocket data to ensure a reactive and real-time application
    • Challenges of maintaining responsiveness while managing subscriptions
    • Strategies for balancing over-fetching and under-fetching of data
  • Client-Side Load Testing
    • Introduction to our in-house load testing tool and its capabilities
    • Demonstration of simulating 100k users and automating client metrics injection
  • Quantifying Performance
    • How the load testing tool gathers data and reveals performance issues
    • Methods for measuring the impact of performance improvements
  • Optimising Performance
    • Detailed analysis of performance improvements
    • Key considerations for ensuring performance and responsiveness in large enterprise applications
  • Conclusion
    • Future directions and next steps
Mohammed Zubair Ahmed

Mohammed Zubair Ahmed

Software Design Engineer II at Mattermost