Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Understanding Scalability and Performance | High-Level System Design Approaches
Software Architecture

bookUnderstanding Scalability and Performance

Note
Definition

Scalability is a system's ability to handle more users, data, or workload without losing efficiency. Performance measures how quickly and effectively tasks are completed. Together, they determine if a system runs reliably under different demands.

Designing for performance means reducing response times and resource usage by optimizing queries, avoiding unnecessary computations, using efficient algorithms, and removing communication bottlenecks.

Scalability relies on horizontal scaling (adding machines or more web servers behind a load balancer) and vertical scaling (upgrading a single machine's CPU, RAM, or storage). Horizontal scaling is usually more flexible and fault-tolerant, especially in distributed systems.

Caching boosts performance by storing frequently accessed data (like sessions or search results) in fast memory such as Redis or in-memory stores. This reduces latency, repeated computation, and database load.

Load balancing spreads traffic across servers, preventing overload and improving availability. It also allows node maintenance without downtime and can operate at different layers, from DNS-level to application-level, depending on system needs.

A system built for scalability and performance adapts to growth while maintaining reliability and speed. These principles future-proof applications and ensure consistent user experiences under varying loads.

question mark

What is horizontal scaling?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 2

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Awesome!

Completion rate improved to 6.25

bookUnderstanding Scalability and Performance

Swipe to show menu

Note
Definition

Scalability is a system's ability to handle more users, data, or workload without losing efficiency. Performance measures how quickly and effectively tasks are completed. Together, they determine if a system runs reliably under different demands.

Designing for performance means reducing response times and resource usage by optimizing queries, avoiding unnecessary computations, using efficient algorithms, and removing communication bottlenecks.

Scalability relies on horizontal scaling (adding machines or more web servers behind a load balancer) and vertical scaling (upgrading a single machine's CPU, RAM, or storage). Horizontal scaling is usually more flexible and fault-tolerant, especially in distributed systems.

Caching boosts performance by storing frequently accessed data (like sessions or search results) in fast memory such as Redis or in-memory stores. This reduces latency, repeated computation, and database load.

Load balancing spreads traffic across servers, preventing overload and improving availability. It also allows node maintenance without downtime and can operate at different layers, from DNS-level to application-level, depending on system needs.

A system built for scalability and performance adapts to growth while maintaining reliability and speed. These principles future-proof applications and ensure consistent user experiences under varying loads.

question mark

What is horizontal scaling?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 2
some-alt