Back to blog

Follow and Subscribe

Rogier Mulhuijzen

Senior Professional Services Engineer

Rogier “Doc” Mulhuijzen is a senior professional services engineer and Varnish wizard at Fastly, where performance tuning and troubleshooting have formed the foundation of his 18-year career. When he’s not helping customers, he sits on the Varnish Governance Board, where he helps give direction and solve issues for the Varnish open source project. In his spare time, he likes to conquer all terrains by riding motorcycles, snowboarding, and sailing.

CDN vs Caching: What is the Difference?

Rogier Mulhuijzen

CDN and caching can get confused for one another. Learn the differences between CDN and caching to help decide what you should use for optimal web performance.

Performance
Engineering

Solving VCL auth & feature flags at the edge | Fastly

Rogier Mulhuijzen, Anna MacLachlan

In “How to solve anything” parts 1 and 2, we outlined how to use Varnish Configuration Language (VCL) to address some of your more challenging problems. In this post, we’ll discuss how Andrew Betts of the Financial Times uses advanced VCL to securely cache and serve authenticated and authorized content, and set up feature flags.

Engineering

VCL problem-solving: SOA routing & non-ASCII support | Fastly

Rogier Mulhuijzen, Anna MacLachlan

In “How to solve anything, part 1,” we discussed Andrew Betts’ clever tips for using Fastly’s Custom Varnish Configuration Language (VCL) to collect data at the edge. In this post, we’ll look at how Nikkei uses VCL to deal with a service-oriented architecture as well as write synthetic responses with non-ASCII characters.

Engineering

VCL problem solving: collect edge data | Fastly

Rogier Mulhuijzen, Anna MacLachlan

At our second annual customer summit, Andrew Betts of the Financial Times discussed using VCL to “solve anything” — pushing his team’s problems to the CDN layer.

Engineering

Caching with CORS

Rogier Mulhuijzen

Before diving into CORS (Cross-origin resource sharing), I need to mention JSONP, which is the other solution to getting data from a different “Origin.” In Using ESI, Part 2: Leveraging VCL and ESI to Use JSONP, Simon explains what JSONP is, and how to cache it with Fastly, using one Fastly specific feature, req.topurl. Now, with Varnish 4.1, req.top.url (note the extra period) is available, and it allows you to do the same thing with vanilla Varnish.

Performance
Engineering

The VCL Cookie Monster

Rogier Mulhuijzen

This month's tip is more a theoretical exercise than anything else, just to show the power of VCL, and to explain a few regular expressions. I'm going to discuss VCL that deletes cookies.

Engineering

Reusing backend connections to increase performance

Rogier Mulhuijzen

Reusing connections between your Varnish instance and your backends (origins) is a good idea for multiple reasons. If your Varnish is on the same network as your backends and you're doing low volume traffic, you can stop reading, because a) the difference will probably be negligible, and b) you're probably already reusing backend connections.

Performance
Engineering

Cache hit issues? Fix it | Fastly.

Rogier Mulhuijzen

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 and passes). In most cases, you'll want both to be as high as possible, since misses and passes cause load on your origins, and are slower than cache hits.

Performance
Engineering

Boost Cache Efficiency with Origin Log Analysis

Rogier Mulhuijzen

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 thus worthy of investigation.

Performance
+ 2 more

Normalizing the Host Header

Rogier Mulhuijzen

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 header.

Performance
Engineering

Overriding Origin TTL in Varnish, or My Beginner's Mistake

Rogier Mulhuijzen

A long time ago, I was helping out at a gaming conference where there was an intranet CMS using a Twitter search plugin. Unfortunately, the rather saturated Internet connection was slowing down all of the Twitter search requests. Each page needed 4 searches, at 500ms each, for a total of 2-3 seconds per page.

Engineering

Increase Your Hit Ratio With This Simple Tip

Rogier Mulhuijzen

If you're caching URLs that include user input, such as a search box, and the search is case insensitive, there's a really easy way to increase your hit ratio: convert the URL to lowercase.

Using Boltsort to Make API Caching More Efficient

Rogier Mulhuijzen

There's a Fastly module available called "boltsort" which allows you to easily sort the parameters in the query string, so that you will always end up with the same URL, no matter what order the consumer of your API placed them in.

Best practices for using the Vary header

Rogier Mulhuijzen

Vary is one of the most powerful HTTP response headers. However, if used incorrectly, it can cause problems for developers. Understand vary header best practices to reduce mistakes and improve performance.

Performance
Engineering

Test New Encodings With Fastly, Including WebP

Rogier Mulhuijzen, Austin Spires

At Fastly, we believe that the freedom to experiment is what makes the web great. We're excited by the cutting edge breakthroughs in file encodings that are happening almost every day, making the web better and faster.