Secrets of a High Performance Application

Secrets of a High Performance Application

Unlike my previous article, this one is slightly technical as I delve deep into the basic IT infrastructure that makes an application solid (does not crash, loads up fast, etc). This will all be explained in Lyman terms, hence, I hope you can find this interesting even if you do not have a technical background.

Nobody notices a highly performing system. But when a system is not performing well enough, users quickly start complaining. We usually take performance for granted in applications like LinkedIn, Facebook, YouTube, etc. Statistics show that 65% of 18-24 year-old expect a site to load in two seconds or less. There is 90% chance of you closing the website if it takes more than 3 seconds to load.

The question is: What happens behind the scenes? What makes these websites so powerful?

1. Application Performance: How well is the code written?

80% of performance issues are due to badly behaving applications. There are things like task prioritization, working from memory as much as possible (rather than working with data on disk), and making good use of queues.

2. Caching (stored in cache memory)

Cache: A place where active data is stored for faster access. It is a temporary storage area. The files you request by looking at a web page (like your crush' Facebook picture) are stored on your hard disk in a cache.

This improves performance by retaining frequently used data in high speed memory, reducing access times to data.

Time it takes to retrieve MB of data from various sources:

  • Hard disk (15k rpm, 4KB disk blocks): 105ms
  • RAM: 0.2ms
  • CPU L1 Cache: 0.016ms

It is clear why caching is often one of the best solutions for increasing the performance of systems

No alt text provided for this image

3. Web proxies

When users browse the internet, instead of fetching all the requested data from the Internet each time, earlier accessed data can be cached (stored in cache memory) in a proxy server and fetched from there.

That way, users get their data faster than when it would be retrieved from a distant web server.

Web Proxies are also used for security reasons since proxy servers hide your internal network from the Public (Internet). Clients do not access the main server, they access the Web Proxy server.

No alt text provided for this image

4. Operational data store

A read-only replica of a part of a database for specific use. Instead of accessing the main database for retrieving information, often used information is retrieved from a separate small ODS database.

5. Scalability

Vertical scaling: Typically adding more CPUs or memory to a server making it stronger, hence faster. But there is always a limit.

Horizontal scaling: Means adding more servers to the infrastructure or adding disks in a storage system.

No alt text provided for this image

6. Load Balancing

It checks the load on each server and sends incoming requests to the least busy server. It makes the system highly available (website doesn't go down) because when a server is unavailable, the Load Balancer notices this and ensures no requests are sent to the unavailable server until it is back online again.

No alt text provided for this image



That's a perfect manual to start up a Data storage centre! =D

Like
Reply

To view or add a comment, sign in

More articles by Abdullah Abu-Hassan

  • What "Too Dangerous to Release" Actually Means in 2026

    In 2019, OpenAI announced that GPT-2 was "too dangerous to release." A text generator with 1.

    5 Comments
  • We're One Breakthrough Away from AI Actually Replacing Humans

    Everyone has been talking about OpenClaw (the viral open-source AI agent formerly known as Clawdbot, then Moltbot). If…

    9 Comments
  • Vipassana Meditation Retreat Experience

    Ten hours of meditation every day, for ten days, without any external stimulation. No phones, reading, music, or…

    11 Comments
  • How to become a Great Coach

    Reading time: 3 minutes The ability to coach is a vital skillset that you need to have in your arsenal. You will…

    12 Comments
  • 10 Things I learned in 2020

    2020 was filled with ups and downs but full of learnings. Here is a list of 10 major things I learned in 2020: 1.

    2 Comments
  • The Five Dysfunctions of a Team Summary

    Reading time: 2 minutes "Five Dysfunctions of a Team" is by far the best leadership book I ever read. I thought I knew…

  • Only Wise and Tolerant People have this Trait

    Reading time: 3 minutes I came up with one of the most profound conclusions three years ago. It was the usual morning…

  • How to Figure Out Someone's Personality

    Reading time: 2 minutes There are countless signs that someone can give off as clues to figure out what kind of person…

  • The Ability to Not Want to Do it but Still Do it

    Reading time: 2 minutes A couple of days ago, I was physically exhausted. Stomach aches, sore muscles, shoulder injury,…

    2 Comments
  • Very Basic Artificial Intelligence and Machine Learning

    Reading Time: 4 minutes This article will hopefully eradicate some of the mysteries behind Artificial Intelligence…

Others also viewed

Explore content categories