题目中描述的现象是:Web应用的CPU使用率正常,但响应时间随着并发数增加而急剧上升

📅 2026/8/18 12:56:57
题目中描述的现象是:Web应用的CPU使用率正常,但响应时间随着并发数增加而急剧上升
题目中描述的现象是Web应用的CPU使用率正常但响应时间随着并发数增加而急剧上升。这表明系统并未因CPU计算能力不足而受限排除A也未表现出内存持续增长暂不支持C磁盘空间不足通常会导致写入失败或IO错误而非单纯响应延迟排除D。而数据库连接池耗尽时后续请求需排队等待可用连接导致请求处理延迟显著上升且该过程不显著占用CPU因线程常处于阻塞等待状态与现象高度吻合。因此最可能的瓶颈是B. 数据库连接池耗尽。数据库连接池耗尽时应用日志中常见的典型错误或警告信息取决于所用连接池实现如 HikariCP、Druid、DBCP 等但共性明显主要包括以下几类✅超时获取连接失败最常见HikariCP:HikariPool-1 - Connection is not available, request timed out after XXX ms.Failed to get connection from pool: java.sql.SQLTimeoutException: Timeout waiting for connection.✅拒绝新连接连接池已满且无空闲连接Druid:druid.pool.GetConnectionTimeoutException: wait millis XXX, active 20, maxActive 20表示活跃连接数已达最大值且等待超时✅线程阻塞/等待堆栈线索日志中可能伴随大量线程处于BLOCKED或WAITING状态堆栈含com.zaxxer.hikari.pool.HikariPool.getConnection()javax.sql.DataSource.getConnection()表明业务线程卡在获取连接阶段。✅框架层间接报错非直接SQL异常Spring Boot MyBatisorg.springframework.dao.DataAccessResourceFailureException: Failed to obtain JDBC ConnectionSpring TransactionCould not obtain transaction-synchronized Session for current threadHibernate场景⚠️ 注意不会出现典型的OutOfMemoryError或CPU high日志也极少报SQLException: Connection refused那是数据库服务不可达而非池耗尽。