在这个 Spring Boot 项目中,关键的性能参数通常定义在 dependencies 配置文件(如 application.yml、application.properties)或者 配置中心(如 Nacos、Apollo)中。
以下是具体的查找方法和搜索关键词:
1. Tomcat 连接数 (Web容器)
Spring Boot 默认使用 Embed Tomcat 作为 Web 容器。通常在 damai-server 或各个微服务的 application.yml 中配置。
- 如何查找:全局搜索 (
Ctrl+Shift+F) - 搜索关键词:
server.tomcat.threads.max:最大工作线程数(默认 200)server.tomcat.max-connections:最大连接数(默认 8192)server.tomcat.accept-count:最大排队数(默认 100)
2. 数据库连接数 (MySQL/MyBatis Plus)
代码中使用了 MyBatis Plus,国内项目通常搭配 Druid 或 Spring Boot 默认的 HikariCP 连接池。
- 如何查找:
- 如果使用 Druid:
- 搜索
spring.datasource.druid.max-active(最大连接数) - 搜索
initial-size(初始化连接数)
- 搜索
- 如果使用 HikariCP:
- 搜索
spring.datasource.hikari.maximum-pool-size(默认 10)
- 搜索
- 如果使用 Druid:
- 代码线索:虽然
ProgramService未直接体现,可查看ProgramMapper对应的配置文件或通用配置模块。
3. Redis 连接数 (Redis & Redisson)
代码逻辑中非常频繁地使用了 Redis 和 Redisson(用于分布式锁)。
- 如何查找:
- Spring Data Redis (Lettuce):
- 搜索
spring.redis.lettuce.pool.max-active(最大连接数,默认 8)
- 搜索
- Redisson (分布式锁):
- 搜索
spring.redis.redisson - 查找项目中是否存在
redisson.yml或redisson.yaml文件 - 重点查看
threads(线程数) 或nettyThreads
- 搜索
- Spring Data Redis (Lettuce):
4. MQ 连接数 (RocketMQ/Kafka/RedisStream)
代码中出现了 RedisStreamPushHandler,表明项目可能使用 Redis Stream 作为轻量级 MQ,但也可能同时使用了 RocketMQ。
- 如何查找:
- RocketMQ:
- 搜索
rocketmq.producer.max-message-size或rocketmq.name-server附近的配置。 - 消费者线程:搜索
DefaultMQPushConsumer的配置 Bean,查找consumeThreadMin和consumeThreadMax代码控制。
- 搜索
- Redis Stream:
- 查看
RedisStreamPushHandler类内部或其配置类。 - 寻找线程池配置(如
ThreadPoolExecutor),通常业务会自定义一个线程池来消费消息。
- 查看
- RocketMQ:
5. Gateway 网关连接数
如果项目有独立的 damai-gateway 模块,它通常基于 Spring Cloud Gateway (底层是 Netty)。
- 如何查找:前往
damai-gateway模块下的application.yml查找。 - 搜索关键词:
reactor.netty.ioWorkerCount(默认为 CPU 核心数)spring.cloud.gateway.httpclient.pool.max-connections
🚀 快速操作建议
你可以直接在 IDEA 中按 Ctrl + Shift + F (全局搜索),输入以下高频命中字符串来快速定位:
max-threads(Tomcat 相关)max-active(DB/Redis 连接池相关)maximum-pool-size(HikariCP 相关)ThreadPoolExecutor(查看自定义业务线程池,如代码中的BusinessThreadPool)
💡 补充说明:业务线程池
在你当前的 ProgramService.java 中,可以看到 BusinessThreadPool.execute(...) 的调用。
- 建议操作:按住
Ctrl点击BusinessThreadPool类。 - 关注点:查看其中定义的
corePoolSize(核心线程数) 和maximumPoolSize(最大线程数)。这是业务处理的自定义线程池参数,对并发性能影响也非常大。