Why doesn't content always show up immediately?

Our sites use a few different technologies to make them load as quickly as possible. This can sometimes seem like a delay in content publishing but these technologies are in place to help your site load rapidly and for a large number of users.

The three items at play are the following: delay publishing, a reverse proxy cache and multiple web servers.

Delay Publishing
Gryphon allows you to set the publication time for a piece of content into the future. When you set a future date the publication of the item is handled by a timed process. Every 15 minutes, the process checks for items that should be published within the previous 15-minute window. So, for example, if you say something should publish today at 1:14 a.m., the process runs at 1:15 and it'll show up then. If you say it should publish at 1:16 a.m., the process doesn't run again until 1:30, so that's when it'll appear. The reason the process runs every 15 minutes instead of every minute is to prevent weighing down the system with unnecessary tasks. It's a balancing act that we're always fine-tuning.

Reverse Proxy Cache
Huh? A reverse proxy cache is a service that sits in front of the web servers that caches (aka makes a copy of) pages for two minutes, literally 120 seconds. So, if you published an item right now it may take up to two minutes for the homepage to display that item depending on when the last time the cache server saved a version of the homepage. One hundred twenty seconds seems to be the magic number that properly balances frequent content updates with the demands of web traffic from your site visitors. It's important to note that this two-minute delay helps us achieve a 1,000-fold increase in the number of requests we can process each second.

Multiple Web Servers
You might also experience a delay because each page request may be routed through a different web server. Our infrastructure uses a technique called “load balancing.” Basically, every time a reader visits the site that page request is passed through our load balancer and those requests are divided up evenly between our different web servers. That way no one web server ever gets overloaded. The number of web servers running is always changing depending on the amount of traffic being received. Each of those web servers has its own cache server that may refresh at a different time along the two-minute window.


Here's an overview of the setup:

 

It's important to know that the direct link for the content is live immediately, e.g. yoursite.com/article/2015/02/article-title even if it's not displaying on a section front. That way you can share it to social media right away. If a request for a page comes to any cache server, and the cache server doesn't have a copy of it saved from the last 2 minutes, it sends the request to Gryphon and the Database where the story is live immediately after it's published.

Though these delays can sometimes seem significant they are in place to optimize the performance of your site all the time, regardless of how much site traffic you are having.

If you have a question about your specific site regarding its caching workflow, please contact us.

Have more questions? Submit a request

Comments

Powered by Zendesk