
# 场景介绍
在数据库系统运行过程中，资源过载是一种常见的问题，它可能导致系统性能下降、用户体验受损，甚至服务不可用。下表详细列出了三种主要的资源过载场景：CPU飙升、内存高负载和连接数满，分别从现象、原因和对业务的影响三个方面进行了阐述。
表1资源过载场景介绍 
| 过载场景  | 现象                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 原因                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 对业务的影响                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| CPU飙升 | - CPU使用率持续接近或达到100%。  - 查询响应时间显著增加。  - 系统整体性能下降，可能出现卡顿。                                                                                                                                                                                                                                                                                                                        | - 随着业务流量增加，大量并发查询请求涌入数据库。  - 复杂SQL查询增多。  - 应用层缓存失效，导致大量请求直接访问数据库。  - 业务高峰期，用户访问量激增。  - 数据库索引设计不合理。                                                                                                                       | - 应用响应延迟增加，用户体验下降。  - 交易处理能力下降，业务吞吐量降低。  - 系统稳定性下降，可能出现超时错误。  - 极端情况下可能导致服务不可用。                    |
| 内存高负载 | - 内存使用率持续处于高位。  - 数据库缓存命中率下降。  - 系统可能出现频繁的内存交换。  - 内存使用率告警。  - 主备倒换或节点重启。   | - 随着流量增加，数据库需要缓存更多数据和查询结果。  - 并发连接数增加，每个连接都需要占用内存。  - 大量复杂查询导致排序缓冲区（sort_buffer）、连接缓冲区（join_buffer）等会话级内存占用增加。  - 存储过程会生成大量的缓存数据，以便后续调用时直接使用，避免重复解析的开销。若大量调用不同或复杂的存储过程，缓存数据会快速累积，可能导致内存占用急剧上升，影响数据库整体性能。  - prepare语句堆积会导致内存缓慢上升。   | - 数据库性能下降，查询响应时间增加。  - 触发OOM，导致主备倒换或节点重启，倒换和重启期间对业务造成闪断影响。                                                                                                                                                                                                                                                                                                                                                            |
| 连接数满  | - 数据库连接池使用率接近或达到上限。  - 新连接请求等待时间增加。  - 应用可能出现获取数据库连接超时错误。  - 连接数告警。                                                                                                                                     | - 随着业务流量增加，应用需要更多数据库连接。  - 应用层连接池配置不合理。  - 短时间内大量请求涌入，导致连接数迅速增加。  - 流量增加导致事务处理时间延长，连接占用时间变长。  - 应用代码问题导致连接未正确释放。                                                                                 | - 应用无法获取数据库连接，导致请求失败。  - 系统吞吐量下降，无法处理更多并发请求。  - 用户体验下降，可能出现错误提示。  - 极端情况下可能导致应用服务不可用。   |
   
