FOSDEM is the biggest free and non-commercial event organized by and for the community. Its goal is to provide Free and Open Source developers a place to meet. No registration necessary.


Interview: Wim Godden

Wim Godden will give a talk about "Caching and tuning fun for high scalability" at FOSDEM 2012.

Could you briefly introduce yourself?

My name is Wim Godden and I have a background in computer sciences. I've been working mostly with PHP and the ecosystem around it since 1997. I'm the author of phpAdsNew, now known as OpenX, which has become the largest open source advertising software.

I'm currently an open source architect and owner of Solutions, where I spend most of my time working on several new services and scalability solutions. Next to that, I regularly train and coach developers, trying to improve both their development skills, as well as their knowledge of system and network engineering.

What will your talk be about, exactly?

I'll first give an introduction to some of the basics of caching, describing caching techniques and cache storage systems. I'll discuss some of the pitfalls people might encounter, some of which can be bad enough to bring down your site.

Moving more towards the tuning part, I'll discuss alternatives to the de facto standard web server software Apache and I'll show how caching can be integrated with that as well.

And finally I'll talk about frontend caching and tuning and why even backend engineers can (and must) keep an eye on that as well.

What do you hope to accomplish by giving this talk? What do you expect?

I think the first goal is to show people who aren't using these techniques that they can save a lot of system resources and make their applications/sites run a lot faster and more efficient.

The second goal is to show that caching means more than just taking data and dumping it in a cache... that part is more for people with some experience.

And finally I want to show that there's life outside the standard webserver stacks, that there are tools that are more efficient and powerful, and stable at the same time.

What are some of the major pitfalls in caching?

There are plenty to choose from, but cache stampeding and lack of monitoring on cache evictions are probably the two biggest issues. I will discuss both in the talk.

Donald Knuth has famously said: "Premature optimization is the root of all evil." Is this true or does it really pay off to think about caching and tuning as soon as possible?

Although I agree that doing micro-optimizations in code or on systems (the tuning part) is something that shouldn't be done until all major components of a project have been completed, that's not the case for caching. Building with caching in mind is an absolute must. It can be a pain to add caching to a system that wasn't designed for it.

Which are some 'quick win' caching techniques that everyone can apply in his web application without any risk of wreaking havoc?

Caching is useful, but as I will show in my talk, can cause serious problems as well if the wrong technique is used. And there are only a few techniques that are risk-free.

For PHP, opcode caching is a no-brainer, speeding up every dynamic page 5 to 15 times. For other programming languages there are similar techniques.

Have you enjoyed previous FOSDEM editions?

Although I live only 40 km from the conference venue, this will be the first time I can actually make it to FOSDEM. Looking forward to it a lot though, especially after having heard about it for years.

Creative Commons License
This interview is licensed under a Creative Commons Attribution 2.0 Belgium License.