GaussDB 数据库性能统计
在数据库运行过程中,会涉及到锁的访问、磁盘IO操作、无效消息的处理,这些操作都可能是数据库的性能瓶颈,通过GaussDB提供的性能统计方法,可以方便定位性能问题。
输出性能统计日志
参数说明:对每条查询,以下4个选项控制在服务器日志里记录相应模块的性能统计数据,具体含义如下:
- log_parser_stats控制在服务器日志里记录解析器的性能统计数据。
- log_planner_stats控制在服务器日志里记录查询优化器的性能统计数据。
- log_executor_stats控制在服务器日志里记录执行器的性能统计数据。
- log_statement_stats控制在服务器日志里记录整个语句的性能统计数据。
- 这些参数只能辅助管理员进行粗略分析,类似Linux中的操作系统工具getrusage() 。
- 这些参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。
- 须知: log_statement_stats记录总的语句统计数据,而其他的只记录针对每个模块的统计数据。 log_statement_stats不能和其他任何针对每个模块统计的选项一起打开。
取值范围:布尔型
on表示开启记录性能统计数据的功能。
off表示关闭记录性能统计数据的功能。
默认值:off
GaussDB 性能调优总体思路
GaussDB性能调优过程需要综合考虑多方面因素,因此,调优人员应对系统软件架构、软硬件配置、数据库配置参数、并发控制(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)、查询处理和数据库应用有广泛而深刻的理解。
输出性能统计日志
须知:性能调优过程有时候需要重启集群,可能会中断当前业务。因此,业务上线后,当性能调优操作需要重启集群时,操作窗口时间需向管理部门提出申请,经批准后方可执行。
调优流程及调优各阶段说明如下:
阶段
|
描述
|
---|---|
确定性能调优范围 |
获取集群各节点的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点。 |
SQL调优指南 |
审视业务所用SQL语句是否存在可优化空间,包括: 1、通过ANALYZE语句生成表统计信息:ANALYZE语句可收集与数据库中表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。执行计划生成器会使用这些统计数据,以确定最有效的执行计划。 2、分析执行计划:EXPLAIN语句可显示SQL语句的执行计划,EXPLAIN PERFORMANCE语句可显示SQL语句中各算子的执行时间。 3、查找问题根因并进行调优:通过分析执行计划,找到可能存在的原因,进行针对性的调优,通常为调整数据库级SQL调优参数。 4、编写更优的SQL:介绍一些复杂查询中的中间临时数据缓存、结果集缓存、结果集合并等场景中的更优SQL语法。 |