Linux 下 Swagger(OpenAPI)慢,常见原因其实和“Linux 本身”关系不大,更多是在运行环境、配置、依赖、工具链上。下面按最常见 → 较少见给你梳理一下。
很多项目用的是:
swagger-ui
swagger-ui-express
springfox / springdoc
Swagger UI 默认从 CDN 加载 JS/CSS
✅ 表现:
/swagger-ui.html 要十几秒✅ 解决办法:
swagger-ui-dist例如:
com.*Swagger 会:
✅ 表现:
/v3/api-docs 慢✅ 优化:
@SpringBootApplication
@ComponentScan(basePackages = "com.xxx.controller")
或限制:
springdoc:
packages-to-scan: com.xxx.api
某些配置会:
✅ 典型错误:
✅ 建议:
springdoc:
swagger-ui:
enabled: false
Java 在 Linux 上:
/dev/random 阻塞
✅ 表现:
✅ 解决:
-Djava.security.egd=file:/dev/./urandom
如果:
✅ 表现:
✅ 建议:
Nginx / Gateway:
proxy_buffering off;
proxy_read_timeout 60s;
curl -w "%{time_total}\n" http://ip:port/v3/api-docs
Linux 上 Swagger 慢,90% 是:
- CDN 加载不了
- 接口扫描太多
- Java 随机数阻塞
- 生产环境没关 Swagger
如果你愿意,可以告诉我:
我可以直接帮你给精准优化方案。