ALTER TABLE on 30 million rows blocks writes for 40 minutes, and checkout writes to that table. A shadow table, triggers, and a backfill paced by replication lag.
phpMyAdmin exports a database inside a PHP request, so it is bounded by max_execution_time, memory_limit, the web server’s own timeout and the browser staying open. Somewhere around a…
A query answering in 20 ms locally and timing out on four million rows. An anonymised data subset that keeps the query plan honest, and the mail, cron…
Three developers, three PHP patch versions and a bug that existed on one of them. A Vagrantfile, a playbook for everything inside it, and what the rebuild costs.
512 MB, 150 concurrent visitors, and a box that swaps before the CPU is busy. Replacing Apache and mod_php with nginx and PHP-FPM, in three stages that each…