performance

  • Alerting that people do not learn to ignore

    340 alerts in a month, four of which mattered. An alert channel nobody reads is the same as no alerting, and the cause is alerting on causes.

  • Measure at the percentile that hurts

    A mean response time of 180ms is compatible with 5% of requests taking four seconds, and it is the 5% who write in. The average is the one…

  • MEMORY USAGE tells you which key is the problem

    –bigkeys reports the largest key by element count, which is not the same as the largest by memory — a hash with 500 short fields is smaller than…

  • Blackfire compares two profiles, which is the useful part

    A single profile tells you where the time goes and leaves the question of whether that is unusual. A comparison between two profiles answers the question you actually…

  • OPcache is per-process-pool, not per-server

    Two PHP-FPM pools have two separate OPcache shared memory segments, so a cache reset in one does nothing to the other — and the site serves a mix…

  • Compose file version 3, and what swarm changed

    v3 exists to be deployable to a scheduler, and that removes things a single-host file relied on. What went, why it had to, and what replaces it.

  • Code splitting with dynamic import

    Shipping the checkout code to everyone who visits the homepage is the default, because a single entry point produces a single bundle. A dynamic import is a split…

  • Prefetch decides whether one slow consumer blocks the rest

    RabbitMQ pushes messages to a consumer up to the prefetch limit without waiting for acknowledgements. With the default of unlimited, one consumer takes the whole queue into its…

  • A cache stampede on a single hot key

    A cached value expiring under load means every request that arrives in the next few hundred milliseconds recomputes it simultaneously — so the moment of highest cost is…

  • Centralised logging that answers a question

    Four servers, eleven log files, and an incident reconstructed from three of them. Shipping first and parsing second, structured events, and the correlation id that makes it useful.