Cache Buckets And Filter Strategies

Cookies and request parameters are a full page cache’s worst enemies. Merely installing a new marketing plugin can drop your cache hit rate down to 0% if you’re not careful. We’ve seen this happen all to often, and many times site owners are not sure what to do.

Continue reading →

Case Study: Elegant Themes Core Race Conditions

In one of our earlier case studies we looked a random 502 Bad Gateway error that happened because a remote endpoint was not responding. That was pretty easy. Ready for something more interesting? Today, we’ll look at a seemingly mind-boggling case that was disregarded by Elegant Themes support as an unreproducible server issue or plugin…

Continue reading →

Translation Caching for WordPress

The WordPress i18n (internationalization) API is a pretty inefficient one, sorry. While the translation files appear to be in PO/MO format and can be parsed by gettext implementations, you’ll be surprised to find out that WordPress uses its own gettext implementation written completely in PHP. This is because the gettext PHP module is not built into…

Continue reading →

Hardware Specs for WordPress Applications

Your team has been working on that perfect WordPress project for months, it’s been tested and is ready to fly. You get some nice cloud server. Your application survives your first handful of users, gains more traction only to stumble and stall. Your users experience timeout errors, dragging load times and a frustrating experience overall.…

Continue reading →

Case Study: 502 Bad Gateway

One of the applications hosted on our platform started returning a 502 Bad Gateway out of nowhere. A 502 Bad Gateway response code usually means that either the PHP-FPM pool has crashed and cannot be connected to, or all the workers are occupied by long-running code, deadlocks, I/O blocks. Within minutes our team was investigating…

Continue reading →

Profiling WordPress Performance

Performance is key for high-traffic WordPress sites, and there are two main ingredients for great WordPress performance – caching and profiling. In this short tutorial we’ll focus on profiling, how it complements caching, and why all of it really matters.

Continue reading →

PHPMailer Vulnerability and WordPress

There’s lots of panic around the holidays regarding CVE-2016-10033 – a critical vulnerability in the PHPMailer library, which allows an attacker to inject custom command-line commands and have the webserver execute them (RCE – remote code execution). WordPress uses PHPMailer, yet there hasn’t been an update yet (see trac ticket #37210), the ticket hasn’t been marked as critical…

Continue reading →