基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
业务 SQL 响应时长偶发连续超长
更新时间:2025-09-11 06:31
适用版本
OceanBase 数据库所有版本。
问题现象
持续对 OceanBase 数据库做业务压测,在压测过程中发现,偶尔会有连续多个 SQL 的响应延迟,从 1ms 飙升到 300ms 左右。
压测延迟统计代码如下:

打印内容如下:

问题原因
排查出现该问题的原因。
首先查看
oceanbase.gv$ob_sql_audit视图,发现这些请求慢的 SQL,在数据库中处理时间都非常短,因此排除是数据库处理慢导致的。
检查 obproxy_digest.log 日志,也未发现有执行时间长的记录,因此也排查是 OBProxy 处理慢导致。
在业务端对请求进行抓包,对业务记录的响应时间长的包进行分析,发现数据库的处理速度都很快

通过上述排查排除的问题,判断为业务端代码出现异常导致的 SQL 响应时间变长。因此对业务的 Java 代码进行监控,发现 FGC 非常严重,最终确认是 JVM 内存太小,导致变慢。
解决方法
调大业务代码的 JVM 内存解决。