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.