Richo previously worked at 99designs. Find him on Twitter and on Google+

Richo's articles

  1. Debugging Varnish

    At 99designs we heavily (ab)use Varnish to make our app super fast, but also to do common, simple tasks without having to invoke our heavy-by-contrast PHP stack. As a result, our Varnish config is pretty involved, containing more than 1000 lines of VCL, and a non-trivial amount of embedded C.

    When we started seeing regular segfaults, it was a pretty safe assumption that one of us had goofed writing C code. So how do you track down a transient segfault in a system like Varnish? Join us down the rabbit holeā€¦

    Get a core dump

    The first step is to modify your production environment to provide you with useful core dumps. There are a few steps in this:

    First of all, configure the kernel to provide core dumps by setting a few sysctls: