Notes on networks, systems and deployment.
-
2026-11-05
Out of inodes while the disk is half empty
df -h says there is space; touch says No space left on device.
-
2026-11-02
A restart loop hides the error that caused it
Restart policies turn one failed start into an infinite loop and flush the logs.
-
2026-10-29
An incomplete certificate chain that browsers hide
Browsers fetch missing intermediates; curl and many clients do not.
-
2026-10-26
Who killed the process: reading the OOM log
No core, no exception — the kernel log has the answer.
-
2026-10-20
Container logs filling the disk
The default json-file driver does not rotate; one chatty container can eat the partition.
-
2026-10-15
What to check in the first minute of a 502
Separate nobody-listening from timeout from an upstream that died mid-request.
-
2026-10-09
Eight hours off inside a container
No tzdata in the image, so TZ points at a file that does not exist.
-
2026-10-02
Packet capture beats ping for finding slowness
A clean ping says nothing about retransmissions, and retransmissions are what hurt.
-
2026-09-26
Long connections cut by something in the middle
NAT entries expire in five minutes; keepalive was set to ten.
-
2026-09-19
Slow DNS is often not DNS
Separate lookup time from connect time before blaming the resolver.
-
2026-09-12
Why some clients got slower after enabling HTTP/2
On a six-request static site, h2 has little to give. Packet loss and a missing session cache were the real problems.
-
2026-09-05
Too many open files: find the leak before raising the limit
Raising nofile buys time; it does not close the descriptor nobody closed.