Linux 临时端口耗尽导致接口间歇性超时的排查实践
## 适用场景 这类问题常见于网关、爬虫、批处理任务、消息消费者、API 聚合服务等高并发出站访问场景。应用本身没有明显 CPU 或内存瓶颈,但访问下游服务、Redis、MySQL 代理、HTTP API 时偶发超时,重启应用后短时间恢复,过一会儿又开始失败。 临时端口耗尽的核心原因是:本机主动发起大量 TCP 连
技术笔记、项目复盘、阅读摘录和问题清单。
## 适用场景 这类问题常见于网关、爬虫、批处理任务、消息消费者、API 聚合服务等高并发出站访问场景。应用本身没有明显 CPU 或内存瓶颈,但访问下游服务、Redis、MySQL 代理、HTTP API 时偶发超时,重启应用后短时间恢复,过一会儿又开始失败。 临时端口耗尽的核心原因是:本机主动发起大量 TCP 连
## 适用场景 本文适用于 Linux 服务器上使用 systemd 管理自研服务、脚本任务、Java 服务、Python 服务或二进制程序时,执行 `systemctl start` 后服务立即失败,并在日志中看到 `status=203/EXEC` 的场景。 这类问题通常不是业务代码运行时报错,而是 syste
## 适用场景 这类问题常见于日志文件、临时文件或应用输出文件被手动 `rm` 删除后,`df -h` 仍然显示磁盘空间没有释放。典型环境包括: - 业务服务持续写入日志,日志文件被误删或被不规范清理脚本删除。 - Nginx、Java、Python、Go 服务长期运行,进程仍持有旧文件句柄。 - Docker 容
## 适用场景 这篇文章适用于线上 Redis 作为缓存、会话、计数器或排行榜组件时,出现接口响应时间突然升高、Redis CPU 飙升、慢查询增多、网络出口流量变大等问题的排查。 典型环境包括: - 单机 Redis 或 Redis Sentinel 架构; - Redis Cluster 分片集群; - 业务
## 适用场景 在 Codex 里配置了一个定时任务,希望它每天自动生成内容,并调用线上接口完成发布。但任务执行时发现:手动运行脚本可以访问线上接口,定时任务运行时却被沙箱拦截,表现为无法访问目标域名或提示网络权限不足。 这个问题很容易误判成“没有互联网权限”,但实际根因往往不是互联网不可用,而是**定时任务使用的
## 适用场景 本文适用于线上业务访问 MySQL 时突然出现连接失败、接口大量报错、应用日志出现 `Too many connections`、连接池获取连接超时,或者监控中 MySQL `Threads_connected` 快速逼近 `max_connections` 的场景。 这类问题通常不是简单把 `ma
# Kubernetes 集群内 DNS 超时导致服务偶发访问失败的排查 ## 适用场景 本文适用于 Kubernetes 集群中应用访问 Service、数据库、Redis、外部域名时,偶发出现 DNS 解析超时、连接超时或请求延迟突然升高的场景。常见环境包括使用 CoreDNS、kube-proxy、conta
## 适用场景 线上服务通过 Nginx 反向代理访问,业务侧反馈接口偶发失败、页面加载慢,Nginx 访问日志里出现大量 `502`、`504` 或 `499` 状态码。 这类问题很常见,但三个状态码代表的方向并不一样: - `502 Bad Gateway`:Nginx 作为网关访问上游失败,通常是上游服务异
在使用 `SentenceTransformer` 进行向量量化时,`calibration_embeddings` 参数的设置对于确保量化的稳定性和准确性至关重要。本文将介绍为什么需要设置该参数,以及如何在多领域(如英文、数学、中文等)场景中有效地配置它。 ## 为什么需要 `calibration_embeddi
当使用 Dockerfile 构建 Java 应用程序时,可以使用 BuildKit 的 `--mount=type=cache` 参数来加速构建过程。BuildKit 的缓存功能可以利用之前构建层的缓存,从而加快构建速度。这对于 Java 应用程序而言尤其有用,因为 Java 应用程序的构建通常涉及到大量的依赖下载和