Morvexis

Morvexis

Field notes on building and running reliable internet services.

Data

Practical Notes on Postgres Connection Pooling

June 22, 2026

Postgres connections are heavy - each backend carries megabytes of memory and a full process - so every scaled-out installation grows a pooler, and every pooler grows a dialect. Session pooling is nearly transparent; transaction pooling is fast and unforgiving, quietly breaking session features like LISTEN, advisory locks and SET.

Most pooler incidents trace to respect: sessions checked out and never returned, cursors held across sleeps, and schema changes that iterate every table while holding one checkout. Transaction mode makes those bugs louder instantly, which shortens the debugging at the cost of breaking the code that committed them.

Continue reading →

Email

Email Deliverability: Authentication Beyond SPF

May 29, 2026

SPF alone stopped being enough years ago. A message that passes SPF can still fail alignment, and mailbox providers have grown far more interested in DKIM signatures and DMARC policy than in the envelope any single check describes.…

Networking

Structuring DNS for Reliability

June 1, 2026

Domain resolution outages produce an awkward paradox: server instances remain perfectly healthy while clients perceive complete downtime. Insulating against platform-level registrar outages demands secondary authoritative DNS providers operating over separate routing infrastructure.…

Engineering

A Practical Guide to API Rate Limiting

August 16, 2026

Few infrastructure components are treated with as much casual oversight as traffic throttling. Simple IP-based token buckets fall apart the moment traffic traverses cellular NAT gateways, causing thousands of legitimate handsets to suffer collective penalties for a single neighbor's surge.…

Engineering

When to Choose a Queue Over a Request

August 13, 2026

Traditional RPC calls remain popular due to straightforward causality: the client makes an invocation, waits for the response, and monitors latency directly. Asynchronous message queuing becomes essential when background tasks outlast active connections or when sudden volume surges threaten to overw…

More reading

About us

We cover the unglamorous middle of software: queues that back up, caches that lie, and DNS at 3 a.m. Everything is written from real operational experience.

More about the project →