What is an Origin Server & How to Reduce its Load?
In this article, you will learn:
- What is an origin server?
- Difference between an origin and edge server
- How to reduce the origin server load
- Reducing server load with Amazon CloudFront CDN
When talking about Content Delivery Network (CDN) you will nearly always see some reference to an origin or origin server. If you want to know what an origin server is, the difference between edge and origin servers, or how to reduce the load on the origin server, read more below.
What is an origin server?
An origin server (origin) is a computer or service where content is stored or computed and is designed to listen and respond to incoming requests. An origin server can have for instance the original version of your website files (HTML, CSS, JS files). This term is usually used to identify the webserver from the cache (edge) server of a CDN.
The most used origin In the AWS Cloud environment is Amazon S3 bucket, Amazon EC2 instance, AWS Elemental MediaPackage, or Elastic Load Balancer.
Origin server vs. edge server
An origin server, sometimes called a CDN origin server, is a computer or service, which is the last point of your network and receives all traffic when you are not using a CDN. Using an origin server without a CDN means that every request must be returned to the physical location of the origin server, regardless of where in the world it resides. This increases the load time, which increases the distance between the server and the client machine making the request.
An edge server is a computer or service that exists at the “edge" of the network. Edge servers are usually used as connections between different networks. CDN edge servers store content in strategic locations to take the load off of one or more origin servers. The main purpose of the edge server is to store content as close as possible to the requesting client machine and help by reducing latency and shortening page load time. An edge server is an edge device that provides an entry point into the network. Other edge devices can include routers.
A CDN origin server and edge server work together to bring content to users, as you can see in the picture below:
Reducing origin server load
How CDNs reduce your server load
If you haven't used a content delivery network, it may be time to consider investing. CDN is a distributed network consisting of strategically placed edge servers that can quickly deliver web content to users around the world.
CDN can reduce your server load and speed up your website by caching the static content of your website. By storing copies of your website at access points around the world, CDN ensures that visitors receive content from servers that are geographically close to them.
Therefore, the round-trip time is greatly reduced, and visitors from far away will not slow down for local users. Given that a typical site can contain up to 80% of static assets, using a CDN can greatly help to offload data from the origin server.
Is it possible to offload all content delivery by CDN from my origin server?
Not likely. The main metric to understand for this is the cache hit ratio. While most CDNs offload a considerable part of all content delivery tasks, the exact amount depends on the CDN’s capabilities and the particulars of your website, application or use case.
CDN edge servers will be able to cache static resources, including images, CSS stylesheets, and JavaScript files. This alone can save upwards of 60% of your bandwidth usage. More advanced CDNs, like Amazon CloudFront, can also cache dynamically generated content (e.g., API calls, ads that are computed on the fly). With such capabilities, caching hit potential increases to 70%–90%, or more.
Reducing server load with Amazon CloudFront CDN
Amazon CloudFront has a global network of edge locations and intelligent software that can deliver content to users around the world from the locations closest to users or with the best performance.
Parts of your website (such as HTML, images, style sheets, and JavaScript files) are served by cached copies stored in CloudFront edge locations and regional edge caches. For parts that are not cached locally, such as newly updated content or specific dynamic requests, CloudFront obtains them from your origin server through a fast and optimized path due to persistent connections on the global network privately managed by AWS.
With support for all HTTP methods, including GET, PUT, and POST, CloudFront can speed up your entire website.
Using the following advice can help further with reducing server load:
Use CloudFront Origin Shield: Origin Shield can further reduce the number of simultaneous requests that are sent to your origin for the same object. Requests for content that is not in Origin Shield’s cache are consolidated with other requests for the same object, resulting in as few as one request going to your origin.
- Optimize your cache hit ratio: If you don’t know what a cache hit ratio is, consider reading our blog post What is a Cache Hit Ratio? first. You can also follow these AWS recommendations to get a higher cache hit rate.
- There are even more things that you can do on the application level to optimize server load further. For example, front-end optimization techniques include compression, minification, image optimizations, and removing render-blocking JavaScript. Another option is using Lambda@Edge to run some of your application logic.
The StormIT team understands that a well-implemented CDN will optimize your infrastructure costs, effectively distribute resources, and deliver maximum speed with minimum latency.
Talk to a CDN specialistSummary
Many factors can slow down the performance of an application or website. If reducing the origin server load does not make your website run smoother, then you may have other problems to solve. However, if you notice that the load on the origin server has peaked and is causing concern, consider using the above tips.
To learn more about different Amazon CloudFront CDN functions and how they impact your performance, security and cost continue by reading the blogpost – What is a CDN and Why Use it in Your Business?