| Introducing BlueCache, free for all customers
One of the great things about the Internet 2.0 as it's called is all this dynamic content. If you've read some of our other entries you've learned about some neat tools like Wordpress, etc, that can make website administration a lot easier, but at what impact? In this document we look at how dynamic content is processed and at least one of the options our customers have at combating performance loss from dynamic content.
Imagine a user coming to your website as a process flow. With a site using dynamic content, like a blog for instance, there's a lot that needs to happen to serve that request. Let's examine it visually;
[ USER 1 types your address ] -> DNS query -> Returns IP of our server -> Connects to Server -> Processes PHP Code -> Makes database requests -> Generates HTML page -> Sends page to server -> Server replies to USER
[ USER 2 types your address ] -> DNS query -> Returns IP of our server -> Connects to Server -> Processes PHP Code -> Makes database requests -> Generates HTML page-> Sends page to server -> Server replies to USER
[ USER 3 types your address ] -> DNS query -> Returns IP of our server -> Connects to Server -> Processes PHP Code -> Makes database requests -> Generates HTML page-> Sends page to server -> Server replies to USER
WOW, that's a lot of steps. The color coding here is intentional. Red requests are the ones that take the longest, thats because these use the most memory and processor. When you page loads half the time, or more, that it spends loading is in handling these red and yellow requests. Let's take a look at what a cache server can do.
[ USER 1 types your address ] -> DNS query -> Returns IP of our server -> Connects to Server -> Checks cache(no file) -> Processes PHP Code -> Makes database requests -> Generates HTML page -> Copy page to cache -> Sends page to server -> Server replies to USER
[ USER 2 types your address ] -> DNS query -> Returns IP of our server -> Connects to Server -> Checks cache(file exists) -> Sends page to server -> Server replies to USER
[ USER 3 types your address ] -> DNS query -> Returns IP of our server -> Connects to Server -> Checks cache(file exists) -> Sends page to server -> Server replies to USER
You can see in the second scenario we've added two low latency steps to the first user, but then shortened the requests for all the other users who access the page after. Of course, this is an over simplification, there are a lot of other things happening in the background to make sure that users are always getting the most recent version of your pages, but you get the idea.
As you can see caching can help a lot, and for most of our accounts it's included free. Ask our support associates if a cache can be enabled on your service today!
|