更新时间:2026-02-06 GMT+08:00
日志统计法
日志统计法是一种被动式的、较为精准的统计方法。使用这种手段进行FASTPATH_PART调优的基本流程如下:
- 用户反馈在性能测试环境或生产环境中的某个时间段出现了一批慢SQL;
- 运维人员通过GS_ASP或STATEMENT_HISTORY等系统表或系统视图,观察到在该时间段内出现大量LockMgrLock等待事件;
- 使用unique_sql_id或其他手段,将慢SQL分为几类unique_query。大部分unique_query的主要等待事件均包含LockMgrLock;
- 运维人员与用户共同确认慢SQL所在事务中可能涉及大量低级别的表锁、索引锁、分区锁的申请;
- 观察慢SQL在STATEMENT_HISTORY中的记录的lock_max_fastpath_count字段值是否显著低于当前FASTPATH_PART配置值(小于当前值的50%或趋近于0),同时观察lock_max_global_count字段值是否远超当前FASTPATH_PART配置(达到数倍或更高);
- 对gs_log日志“During this transaction, it is recommended to adjust FASTPATH_PART to %u.”中的数值进行汇总统计,剔除其中异常值(明显超出正常范围且出现频率极低的数据点)。该统计值的数据来源为:数据库会统计每一个事务对fastpath资源的需求量,如果其需求量大于目前fastpath资源配置的两倍,则会在事务提交时将该需求值记录至gs_log;
- 若内存资源充足,建议取上一步统计结果的最大值作为新的FASTPATH_PART配置值;若内存资源受限,需根据业务需求权衡:若需降低此类性能问题发生概率,则取上一步统计结果中的较大值;若需预留更多动态内存资源,则取上一步统计结果中的较小值作为新的FASTPATH_PART配置值。调大FASTPATH_PART时,增量内存计算公式为:fastpath增量内存=((fastpath增加量/20)*8 + fastpath增加量*12) * 线程池大小,单位是字节。
优势与劣势
采用该方法进行FASTPATH_PART参数调优的优劣势如下:
- 优势:基于数据库资源需求量统计的调优方法具有较高准确性,若通过以上步骤完成参数调整且业务场景无重大变更,可有效避免因FASTPATH_PART配置不合理引发的LockMgrLock阻塞问题。
- 劣势:该方案属于被动式调优策略,需在测试环境或生产环境完成对应统计数据采集后方可实施优化。
父主题: fastpath参数调优最佳实践