问题现象
将 large_query_worker_percentage 设置成 1 时,只压测大查询,压测发现租户 CPU 跑满,large_query_worker_percentage 未能限制大查询 CPU。
问题原因
large_query_worker_percentage 参数是用于限制大查询对 CPU 资源的占用。然而,该参数的实际效果依赖于集群中小查询的并发情况:
当 OceanBase 集群中同时存在大查询和小查询时,若小查询的数量足够多且已经使用了相应的租户 CPU,此时 large_query_worker_percentage 参数才能限制大查询的 CPU 使用。
如果在 OceanBase 集群内只存在大查询,而没有小查询,该参数则无法限制大查询的 CPU 使用。因此,如果大查询的并发量较高,会导致租户 CPU 负载过高。
影响的版本
OceanBase 数据库 V2.x、V3.x 版本。
影响的租户
OceanBase 数据库的 SYS 租户、MySQL 租户、Oracle 租户。
解决方式
符合预期,无需解决。在配置 large_query_worker_percentage 参数时,应考虑集群中查询类型的组合以及对 CPU 资源的整体使用情况,以更好地管理和优化租户的性能。