木杉笔记

记录后端、运维与数据库的踩坑日常

用 systemd timer 替掉 cron 之后

2026-09-22运维

cron 干这种事一点声响都没有 —— 它不关心上周的进程是成功了、崩了、还是压根没启动。换成 systemd timer 之后,失败至少能被看见。

被 iptables 咬过的几次

2026-09-18运维

iptables 的规则是有顺序的,匹配到第一条就结束。这句话我看了很多遍,但真正记住是付出过代价的 —— 比如把自己 SSH 关在门外。

Nginx 几个容易被忽略的性能参数

2026-09-12运维

worker_connections、keepalive_timeout、sendfile 这几个参数网上一搜一大把,但真正影响大的其实是 client_body_buffer_size 和 open_file_cache……

连接池到底该开多大

2026-09-05数据库

把连接池从 20 调到 100,QPS 反而掉了三成。连接池的意义是「复用」,不是「并发」。

Postgres 索引选错的代价

2026-08-28数据库

一个老查询从 40ms 变成 4s,最后发现是 B-tree 用在了低基数列上。说一句加索引,默认加的是类型对的,但代价不一样。

把镜像从 1.2G 压到 80M

2026-08-15容器

先分清哪些层是必须的,再谈压缩。盲目换 alpine 有时候反而更麻烦。