You appear to be offline. Some site functionality may not work.
Call Us

Fastly Blog

Performance

Introducing Soft Purge, a more efficient way to mark outdated content

Today, we’re excited to announce Soft Purge, a new purging feature that allows you to easily mark content as outdated (stale) instead of permanently deleting it from Fastly’s caches. With Soft Purge, you...

Common causes of a poor cache hit ratio and how to deal with them

The cache hit ratio (or hit ratio for short) is the ratio of hits to cacheable requests (hits and misses combined). There’s also cache coverage, the ratio of cacheable requests to all requests (cacheable requests…

Analyze your origin logs to get a higher cache efficiency

If you want to increase the efficiency of your Varnish (or Fastly) cache, you need to figure out what traffic is not cached. By definition, any traffic that reaches your origin is not cached, and…

Accelerating Rails, Part 2: Dynamic HTTP Caching

In the second part of our series on accelerating Rails, I’ll cover configuration of a few Fastly features, Varnish and Varnish Configuration Language (VCL), and strategies for caching dynamic content that are targeted towards the…

Normalizing the Host Header

In the continued quest to increase cache hit ratios, the chant is: “Normalize, normalize, normalize.” Less variation in your requests means you have a higher chance of getting hits. This month’s highlight is the Host…

Accelerating Rails, Part 1: Built-in Caching

Caching is one strategy that helps ease scaling pains that I often see Rails developers overlooking. Starting out with caching can be confusing, because terms and documentation can be convoluted, especially if you’re not an…

Using ESI, Part 2: Leveraging VCL and ESI to Use JSONP

In this post, I’m going to discuss how you can leverage ESI and VCL (Varnish Configuration Language, the domain-specific language that powers Fastly’s edge scripting capabilities) to use JSON responses, even when they’re loaded from…

Improving the Delivery of Large Files With Streaming Miss and Large File Support

Today, we’re excited to announce two related features that lower bandwidth costs and reduce origin load for Fastly customers, resulting in faster downloads for their users: Streaming Miss and Large File Support.

New Gzip Settings and Deciding What to Compress

Fastly recently conducted an extensive analysis of which resources should be compressed. Today, the results of that analysis are reflected in the Fastly app, which allows our customers to adopt better gzip settings. This not…

Caching the Uncacheable - Hooman Beheshti's Talk at Velocity NYC 2014

Hooman Beheshti, VP of Technology at Fastly, recently gave a talk at Velocity NYC 2014 about the challenges CDNs face with dynamic content and how businesses can use programmatic means to fully integrate their applications…

Stale-While-Revalidate, Stale-If-Error Available Today

Fastly is excited to announce that as of today, we support stale-while-revalidate and stale-if-error. As a company dedicated to building a better Internet, we work hard to identify and support new standards that move the...

Using ESI, Part 1: Simple Edge-Side Include

Fastly customers can use ESI to cache pages that contain both cacheable and uncacheable content (such as user-specific information).

Best Practices for Using the Vary Header

Vary is one of the most powerful HTTP response headers. Used correctly, it can do wonderful things. Unfortunately, this header is frequently used incorrectly, which can lead to abysmal hit ratios. Worse still, if it’s…

Caching “Like” and “Share” Buttons

In a blog post about caching with tracking cookies, I explained how Fastly’s edge scripting language allows businesses to cache things that were previously uncacheable as well as send data back via our...

API Caching, Part III

In this, our final API Caching installment, we’re going to explore how to use Surrogate Keys to reduce the overall complexity of caching an API.

Building a Fast and Reliable Purging System

At Fastly, we’re always working to make our systems faster and more reliable. One of the more difficult problems we’ve faced is efficient cache invalidation across our global network, or as we call it: <a...

API Caching, Part II

In Part 1, we covered the basics of using Fastly to accelerate a comments API. Using Instant Purge, we hooked into model callbacks to ensure that the appropriate content was purged from the...

API Caching, Part I

The web has come a long way since the 90s. In the past, sites were commonly driven by a single, monolithic application that acted as the only communication medium to a centralized database. The modern…

Surrogate Keys: Part 2

One of my favorite computer science jokes is that there are only two truly difficult problems in computer science: naming things, cache invalidation, and off-by-one errors. At Fastly, we deal with these sorts of difficult...

Surrogate Keys: Part 1

Here at Fastly HQ, we want websites to be fast. Caching is commonly used to speed up websites. However, caching rapidly changing and unpredictably updated content can be difficult. To make it easier, we built…