alokai-logo-header-desktop.svg
Performance vs scalability: What is the difference?
performance

Performance vs scalability: What is the difference?

Published: March 24, 2023 | Updated: August 8, 2024
IN THIS ARTICLE

Performance and scalability are two critical aspects of websites that can impact user experience, revenue, and brand reputation. Performance refers to the speed and responsiveness of a website, while scalability refers to a website's ability to handle increased traffic and growing demand. 

While performance ensures that your website provides a seamless user experience, scalability ensures that your website can handle growth and future demands. Neglecting either can lead to lost revenue, customer dissatisfaction, and damage to your brand reputation.

Filip Rakowski, CTO and co-founder, Alokai 

The terms are often used interchangeably, but performance and scalability are distinct concepts that have different considerations when it comes to optimization. However, they are tightly linked. A site with poor performance at low levels of traffic isn’t going to scale well, and a site that scales poorly will drop performance as traffic grows. 

Small improvements in site performance can have a big payoff, and maintaining that performance as you scale to more users also means scaling that payoff. A 2020 study by Google found that just a 0.1 second improvement in mobile site speed metrics led to

  • 10.1% increase in conversion rate on travel sites; 

  • 9.2% increase in average order value on retail sites;

  • 8% increase in page views per session on luxury sites; 

  • 8.3% decrease in bounce rates on lead generation sites. 

Performance 

Customers expect fast-loading, highly responsive websites by default, and many won’t hesitate to click away if the experience takes a fraction of a second too long. A 2022 study on website performance vs user behavior found that, with an average page load speed of around 3 seconds, even shaving off milliseconds of that time can significantly impact sales. 

Nowadays most websites are pretty fast, so our question was: Can small fractions of a second impact the conversion and the sales? It turns out that the answer is yes. We are able to estimate that a 10% decrease in the website’s speed can reduce sales by 4.2% and conversion rates by 2%. If you think about how much effort online retailers put into attracting customers, if you are frustrating them down the road, it’s almost like you’re throwing away money.

Santiago Gallino, co-author, Need for Speed: The Impact of In-Process Delays on Customer Behavior in Online Retail 

Metrics used to measure website performance

For software systems in general, the most common performance metrics are: 

  • Response time. The time it takes for the system to react to a given input. 

  • Throughput. The number of transactions the system can process in a given amount of time (e.g. 10 requests per second). 

  • System availability. The percentage of time the system is up and available, compared to the total of uptime plus downtime. 

  • Resource utilization. The percentage of time that a system resource is occupied, compared to the total time the system is available (e.g. 50% CPU utilization if the CPU is busy processing requests for 30 seconds of each minute). 

For web and mobile sites in particular, many companies use Google Lighthouse to set performance goals. The current version, Lighthouse 10 , gives websites a performance score based on 5 metrics: First Contentful Paint, Speed Index, Largest Contentful Paint, Total Blocking Time, and Cumulative Layout Shift.

This scoring breakdown can help pinpoint performance issues and monitor improvements. It’s especially important for search engine optimization (SEO), as Google uses the Lighthouse score in their ranking algorithm. 

8 ways to improve performance of your website 

  • Optimize website design. Clean layouts and optimized images, ideally in highly compressible image formats like WebP or AVIF, help websites load faster with less resource usage. 

  • Optimize code. Reducing code complexity, improving event handling , and removing redundant operations and JavaScript modules can help minimize execution time. 

  • Optimize the database(s). Creating a data model that defines how different types of data are stored, related, and accessed can help identify ways to improve database queries, indexing, and schema design for faster data retrieval. 

  • Choose a good hosting provider.  A reliable hosting solution that’s built with modern, cloud-native infrastructure can significantly improve performance and ensure that it stays high as you scale. 

  • Implement caching. A variety of caching strategies can be used to store static assets and frequently accessed data in fast-access memory (cache) to speed up response time for end user requests. 

  • Pick best-fit rendering strategies. Server-side rendering is ideal for site elements that need a fast initial load, real time data, and SEO crawlabilty (e.g. homepage, product details). While client-side rendering is great for handling user interaction and session-specific content (e.g. account settings, dashboards). Many websites use a combination of rendering strategies to drive performance

  • Coordinate services. For sites powered by multiple backend platforms and data sources, ensure slow or sequential services aren’t causing bottlenecks and potentially orchestrate backend services into a single API to reduce frontend requests. 

  • Continuously monitor and test. Set benchmarks, automate alerts for performance problems, record the impact of changes, and test against throttled network and CPU resources as the general public tends to have slower connections and older devices than the people building applications. 

Scalability 

A scalable system is able to maintain performance as demand increases by adding resources. Scalable websites continue to provide a fast, reliable experience as the business grows and enters new markets or regions. As well as during traffic spikes for sales, events, or even unexpected viral moments. 

Methods to test website scalability  

Scalability testing is done by measuring a website's performance metrics under various user scenarios and amounts of concurrent users. Common testing methods include: 

  • Load testing. Used to test performance under expected, real-world load. The number of users is ramped up while gradually increasing resources to identify any code limitations or resource bottlenecks. 

  • Soak testing. Used to test performance under expected load over a longer period of time. Testing is run for hours or days to measure website availability, stability, and check for performance degradation due to sustained load. 

  • Spike testing. Used to test performance during sudden peaks of massive traffic. Load is quickly ramped up and down to see how well the system can adapt to and recover from traffic spikes. 

  • Stress testing. Used to find the breaking point of the system. An extreme amount of load is added to learn how far the system can be pushed until failure, the consequences of failure, and the recovery time after failure. 

Vertical scaling vs horizontal scaling  

There are two main ways to add resources to scale software systems. Vertical scaling, or “scaling up”, refers to increasing the capacity of existing servers. Such as by adding memory or upgrading to a faster CPU. Horizontal scaling, or “scaling out”, refers to adding more servers to your infrastructure and distributing the workload between multiple servers.  

Scaling with the cloud 

While it’s possible to scale vertically in the cloud by increasing the size of your instance (i.e. the virtual environment that you rent the use of), this often leads to paying to reserve server space that sits unused a lot of the time. 

The real scalability power of public cloud platforms like  Amazon Web Services (AWS) and Microsoft Azure is the ability to automatically add and remove instances for efficient, cost-effective horizontal scaling. 

To take full advantage of cloud scalability, an application needs to have a distributed architecture (e.g. microservices , event-driven, peer-to-peer) that allows the workload to be broken up into smaller pieces that can be executed independently across different instances. These types of architectures can be more complex than a traditional, monolithic application but are able to scale far more efficiently. 

Scalability benefits of distributed architectures: 

  • Independent scalability. Provision the right amount of resources for different parts of the workload to reduce costs and prevent bottlenecks. For instance, site search may need more resources to process hundreds of requests per second while checkout only needs to handle a few. 

  • Elastic load balancing. Distribute traffic evenly across multiple cloud instances to prevent any single instance from being overloaded. Load balancing also enables redundancy, because if one instance fails another identical instance can run the process. 

  • Content delivery network (CDN). A CDN is a network of servers that are located in data centers across the world. Content is cached in a server that is geographically close to the end user so that when a user requests data it's fetched quickly. CDNs also enable failover to another location if something were to happen to the physical hardware in a data center. 

  • Asynchronous processes. Tasks can be executed independently and in parallel so that one slow process doesn’t bottleneck the entire website. Queues and message brokers can help make sure data is eventually consistent.  

Balancing performance vs scalability  

Performance and scalability are both important for a positive user experience and are key factors in software design. While they often go hand-in-hand, there can be some tradeoffs between how fast you want your experience to be for an individual user, how reliable it is for a large number of users, and the overall complexity of your system. 

Applications that require real-time processing and immediately consistent data, such as gaming or banking, might prioritize tactics that optimize performance. While sites that need to handle irregular spikes in traffic, like retail or news media, might be more concerned with improving scalability. 

Priorities can also shift for different parts of the user journey. Such as choosing different rendering and caching strategies for static versus highly interactive pages, or investing more resources on-site elements where small changes in performance can make the biggest difference

For example, the Google-commissioned report on mobile site speed found that a 0.1 second improvement in speed metrics on lead generation websites resulted in a 5.5% increase in people getting to the first stage of a contact form, but a whopping 21.6% uplift in form submission. 

Managing complexity as you scale 

As the digital experience scales to support more users and new needs, it tends to become more complex. With teams having to coordinate an increasing number of backend tools, services, and APIs to deliver the modern type of experiences that customers expect. 

Alokai Connect simplifies this complexity by helping teams bring together all backend services and data into a single, unified API. This efficient approach to data orchestration, along with Alokai’s robust cloud hosting and flexible Frontend-as-a-Service solution , makes it easy to build, deploy, and manage high-performing, highly scalable storefronts powered by any tech stack. 

shape

Ready to dive in? Schedule a demo

Get a live, personalised demo with one of our awesome product specialists.