热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GaussDBTWSR简介

GaussDB有类似oracleAWR报告的WSR报告。帮助D


GaussDB有类似Oracle AWR报告的WSR(Workload Statistics Report)报告。以帮助DBA进行DB性能分析定位。

集群环境当前仅支持在DN主节点上生成分析报告,不支持CN节点。

    [omm@Gauss1 ~]$ zsql sys/'Changeme_123'@127.0.0.1:40000 -q
    connected.


    SQL> wsr
    The syntax of generating a WSR report is as follows:


    Format: WSR snap_id1 snap_id2 "FILENAME"
    snap_id1 and snap_id2 indicate the IDs of the start and end snapshots, respectively. FILENAME is optional.
    You can create a snapshot using the SYS.WSR$CREATE_SNAPSHOT stored procedure and obtain snapshot IDs from the adm_hist_snapshot system view.
    You can drop snapshots using the WSR$DROP_SNAPSHOT_RANGE stored procedure and obtain the latest 20 snapshot IDs by running the WSR list command.
    Example1: WSR 10 20
    Use snapshot 10 and snapshot 20 to generate a report, with a default report name.
    Example2: WSR 10 20 "e:\wsr.html"
    Use snapshot 10 and snapshot 20 to generate a report, with a specified report name.
    Example3: WSR list
    Obtain information about the latest 20 snapshots.
    Example4: CALL WSR$CREATE_SNAPSHOT;
    Create a snapshot.
    Example5: CALL WSR$DROP_SNAPSHOT_RANGE(10, 20);
    Drop snapshots from snapshot 10 to snapshot 20.
    Note: For WSR, the values of the SQL_STAT and TIMED_STATS system parameters are true.


    SQL>

    查看可用快照点:

      SQL> wsr list;
      Listing the lastest Completed Snapshots
      Snap Id Snap Started DB_startup_time
      --------------- ------------------- ------------------
      26 2019-12-17 04:30:21 2019-12-17 03:30:19
      25 2019-12-17 04:00:21 2019-12-17 03:30:19
      24 2019-12-17 03:30:21 2019-12-17 03:30:19
      23 2019-12-17 01:57:30 2019-12-17 00:27:29
      22 2019-12-17 01:27:30 2019-12-17 00:27:29
      21 2019-12-17 00:57:30 2019-12-17 00:27:29
      20 2019-12-17 00:27:30 2019-12-17 00:27:29
      19 2019-12-16 23:51:43 2019-12-16 22:04:44
      18 2019-12-16 23:21:43 2019-12-16 22:04:44
      17 2019-12-16 22:51:43 2019-12-16 21:49:30
      16 2019-12-16 22:21:43 2019-12-16 21:49:30
      15 2019-12-16 21:51:43 2019-12-16 21:49:30
      14 2019-12-16 03:47:00 2019-12-15 22:46:59
      13 2019-12-16 03:17:00 2019-12-15 22:46:59
      12 2019-12-16 02:47:00 2019-12-15 22:46:59
      11 2019-12-16 02:17:00 2019-12-15 22:46:59
      10 2019-12-16 01:47:00 2019-12-15 22:46:59
      9 2019-12-16 01:17:00 2019-12-15 22:46:59
      8 2019-12-16 00:47:00 2019-12-15 22:46:59
      7 2019-12-16 00:17:00 2019-12-15 22:46:59
      SQL>

      手动收集快照点

        SQL> CALL WSR$CREATE_SNAPSHOT;
        PL/SQL procedure successfully completed.
        SQL>

        查看WSR配置信息

          SQL> select snap_interval,retention,topnsql,session_status,session_interval,log_days from adm_hist_wr_control;


          SNAP_INTERVAL RETENTION TOPNSQL SESSION_STATUS SESSION_INTERVAL LOG_DAYS
          ------------------------ ------------------------ ------------ -------------- ---------------- ------------
          +00000 00:30:00.0 +00002 00:00:00.0 200 Y 30 30


          1 rows fetched.


          SQL>

            SNAP_INTERVAL : 自动生成快照的间隔。取值范围【5,1440】 单位:分钟 默认值:30分 钟 参数为整数 call WSR $MODIFY_SETTING(I_ IN_INTERVAL_MINUT ES => 30);
            RETENTION         :  快照保留的天数。        取值范围【1,3000】 单位:天 默认值:2天 参数为整数        call WSR $MODIFY_SETTING(I_ IN_RETENTION_DAYS => 30);
            TOPNSQL           :  报告中Top SQL个 数。    取值范围【1,1000】 单位:个 默认值:200个 参数为整数     call WSR $MODIFY_SETTING(I_ IN_TOPSQL=> 100);
            SESSION_STATUS    :  是否开启准实时收 集任务。取值范围  Y:开启。N:不开启。默认值:Y         call WSR $MODIFY_SETTING(S TR_IN_SESSION_STAT US=> 'Y');
            SESSION_INTERVA   :  准实时收集任务的间隔。  取值范围【1,1000】 单位:秒 默认值:30秒 参数为整数   call WSR $MODIFY_SETTING(I_ IN_SESSION_INTERVA L => 30);
            LOG_DAYS          :  日志的保留天数。        取值范围【1,1000】 单位:天 默认值:30天 参数为整数   call WSR $MODIFY_SETTING(I_ IN_LOG_DAYS => 30);



            常用操作:

              SQL> wsr list;
              Listing the lastest Completed Snapshots


              Snap Id Snap Started DB_startup_time
              --------------- ------------------- ------------------
              27 2019-12-17 04:37:31 2019-12-17 03:30:19
              26 2019-12-17 04:30:21 2019-12-17 03:30:19
              25 2019-12-17 04:00:21 2019-12-17 03:30:19
              24 2019-12-17 03:30:21 2019-12-17 03:30:19
              23 2019-12-17 01:57:30 2019-12-17 00:27:29
              22 2019-12-17 01:27:30 2019-12-17 00:27:29
              21 2019-12-17 00:57:30 2019-12-17 00:27:29
              20 2019-12-17 00:27:30 2019-12-17 00:27:29
              19 2019-12-16 23:51:43 2019-12-16 22:04:44
              18 2019-12-16 23:21:43 2019-12-16 22:04:44
              17 2019-12-16 22:51:43 2019-12-16 21:49:30
              16 2019-12-16 22:21:43 2019-12-16 21:49:30
              15 2019-12-16 21:51:43 2019-12-16 21:49:30
              14 2019-12-16 03:47:00 2019-12-15 22:46:59
              13 2019-12-16 03:17:00 2019-12-15 22:46:59
              12 2019-12-16 02:47:00 2019-12-15 22:46:59
              11 2019-12-16 02:17:00 2019-12-15 22:46:59
              10 2019-12-16 01:47:00 2019-12-15 22:46:59
              9 2019-12-16 01:17:00 2019-12-15 22:46:59
              8 2019-12-16 00:47:00 2019-12-15 22:46:59


              SQL> call wsr$drop_snapshot_range(8,10); --删除指定范围snapshot
              PL/SQL procedure successfully completed.


              SQL> wsr list;
              Listing the lastest Completed Snapshots


              Snap Id Snap Started DB_startup_time
              --------------- ------------------- ------------------
              27 2019-12-17 04:37:31 2019-12-17 03:30:19
              26 2019-12-17 04:30:21 2019-12-17 03:30:19
              25 2019-12-17 04:00:21 2019-12-17 03:30:19
              24 2019-12-17 03:30:21 2019-12-17 03:30:19
              23 2019-12-17 01:57:30 2019-12-17 00:27:29
              22 2019-12-17 01:27:30 2019-12-17 00:27:29
              21 2019-12-17 00:57:30 2019-12-17 00:27:29
              20 2019-12-17 00:27:30 2019-12-17 00:27:29
              19 2019-12-16 23:51:43 2019-12-16 22:04:44
              18 2019-12-16 23:21:43 2019-12-16 22:04:44
              17 2019-12-16 22:51:43 2019-12-16 21:49:30
              16 2019-12-16 22:21:43 2019-12-16 21:49:30
              15 2019-12-16 21:51:43 2019-12-16 21:49:30
              14 2019-12-16 03:47:00 2019-12-15 22:46:59
              13 2019-12-16 03:17:00 2019-12-15 22:46:59
              12 2019-12-16 02:47:00 2019-12-15 22:46:59
              11 2019-12-16 02:17:00 2019-12-15 22:46:59
              7 2019-12-16 00:17:00 2019-12-15 22:46:59
              6 2019-12-15 23:47:00 2019-12-15 22:46:59
              5 2019-12-15 23:17:00 2019-12-15 22:46:59
              SQL> wsr 10 20 --收集指定范围snapshot报告
              GS-00601, [1:4]Sql syntax error: start_snap_id doesn't exist!
              WSR Report Build failed.


              SQL> wsr 11 20
              GS-00516, Err occur when generate WSR report, msg: Database restarts in the middle of two snapshots.
              WSR Report Build failed.


              SQL> wsr 24 26 ----收集指定范围snapshot报告


              WSR report file name : wsrrpt_24_26.html
              WSR report Generation Success.


              SQL> wsr 24 26 "/tmp/24-26.html" ----收集指定范围snapshot报告,并指定报告路径及名称


              WSR report file name : tmp/24-26.html
              WSR report Generation Success.


              SQL>


              WSR 相关视图 

                ADM_HIST_SNAPSHOT :历史快照信息
                ADM_HIST_WR_CONTROL :WSR相关配置
                ADM_HIST_SYSSTAT :DV_SYS_STATS快照信息
                ADM_HIST_SYSTEM :DV_SYSTEM快照信息
                ADM_HIST_SYSTEM_EVENT :DV_SYS_EVENTS快照信息
                ADM_HIST_SQLAREA :DV_SQLS快照信息
                ADM_HIST_PARAMETER :DV_PARAMETERS快照信息
                ADM_HIST_WAITSTAT :DV_WAIT_STATS快照信息
                ADM_HIST_LATCH :DV_LATCHS快照信息
                ADM_HIST_LIBRARYCACHE :DV_LIBRARY_CACHE快照信息
                ADM_HIST_SEGMENT :DV_SEGMENT_STATS快照信息
                ADM_HIST_DBASEGMENTS :ADM_SEGMENTS快照信息
                ADM_JOBS                   :快照相关job信息 


                扩展:gs_wsr 

                    数据库集群部署成功后,GaussDB提供了gs_wsr工具将DN上的WSR报告统一生成并打包返回,极大提升了集群环境快速收集报告的效率。

                  [omm@Gauss1 ~]$ gs_wsr -t listsnapshot    --查看快照点
                  SNAP_ID DBID INSTANCE_ID STARTUP_TIME SNAP_TIME FLUSH_ELAPSED SESSIONS CURSORS
                  ------------ ------------ ------------ -------------------------------- -------------------------------- ------------------------ ------------ ------------
                  28 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 05:00:21.217 -00000 00:00:00.2 71 2
                  27 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 04:37:31.699 -00000 00:00:00.7 69 1
                  26 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 04:30:21.562 -00000 00:00:00.6 70 2
                  25 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 04:00:21.958 +00000 00:00:00.0 70 2
                  24 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 03:30:21.420 -00000 00:00:00.4 49 1
                  23 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 01:57:30.247 -00000 00:00:00.2 79 1
                  22 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 01:27:30.584 -00000 00:00:00.6 70 2
                  21 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 00:57:30.947 +00000 00:00:00.1 59 1
                  20 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 00:27:30.306 -00000 00:00:00.3 50 2
                  9 rows fetched.
                  [omm@Gauss1 ~]$ gs_wsr -t report --begin-time="20191217 03:30:21" --end-time="20191217 04:30:21" --收集指定时间段报告
                  Successful completion of report collection, results are stored in home/omm/20191217-03-30-21_20191217-04-30-21.tar.gz.
                  [omm@Gauss1 tmp]$ tar -zxvf home/omm/20191217-03-30-21_20191217-04-30-21.tar.gz
                  24_25_DB4_7.html
                  24_25_DB3_5.html
                  24_25_DB2_3.html
                  24_25_DB1_1.html
                  [omm@Gauss1 ~]$

                      GaussDB 不仅支持上边的单命令一键收集,还支持部署定时任务,定时自动收集:

                    [omm@Gauss1 ~]$ gs_wsr -t createtask --time=60 --创建任务,每60min执行一次
                    ========================================
                    Begin to create wsr cron task.
                    Create wsr cron task time interval is 60 minutes.
                    Successfully create wsr cron task.
                    ========================================
                    [omm@Gauss1 ~]$ gs_wsr -t updatetask --time=120 --更新任务
                    [GAUSS-50004] : The parameter '--time' value is incorrect. Value scope is 15 or 30 or 60.
                    [omm@Gauss1 ~]$ gs_wsr -t updatetask --time=30
                    ========================================
                    Begin to update wsr cron task.
                    Update wsr task time interval to 30 minutes.
                    Successfully update wsr cron task.
                    ========================================
                    [omm@Gauss1 ~]$ gs_wsr -t taskstatus --查看任务状态
                    ========================================
                    Check wsr cron task status.
                    The wsr cron task is running.
                    Task time interval: [ 30 minutes ].
                    Check wsr cron task status Finished.
                    ========================================
                    [omm@Gauss1 ~]$ gs_wsr -t deletetask --删除任务
                    ========================================
                    Begin to delete wsr cron task.
                    Successfully delete wsr cron task.
                    ========================================
                    [omm@Gauss1 ~]$

                     

                    gs_wsr常用命令:

                      创建WSR的定时任务
                      gs_wsr -t createtask --time=MINUTES


                      删除WSR的定时任务
                      gs_wsr -t deletetask


                      更新WSR定时任务时间
                      gs_wsr -t updatetask --time=MINUTES


                      查询定时任务状态
                      gs_wsr -t taskstatus


                      生成WSR报告
                      gs_wsr -t report --begin-time="BEGINTIME" --end-time="ENDTIME" [--outDir="dir"]


                      查看快照


                      gs_wsr -t listsnapshot [-I INSTANCENAME] [--date="DATE"]
                      显示帮助信息
                      gs_wsr -? | --help


                      显示版本号信息
                      gs_wsr -V | --version


                      一睹为快:

                      WSR报告样例 

                      https://pan.baidu.com/s/1CHBPMELRMBhRCLHYh574Mw



                      关注国产,关注未来 我是Kevin YAN!


                      参考:

                      1. 《Gauss100官方文档》

                      2. https://support.huawei.com


                      关注我,可查阅更多文章呦!




                      推荐阅读
                      • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
                      • ArcBlock 发布 ABT 节点 1.0.31 版本更新
                        2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
                      • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
                      • C/C++ 应用程序的安装与卸载解决方案
                        本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
                      • 【MySQL】frm文件解析
                        官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
                      • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
                      • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
                      • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
                      • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
                      • Java中List的forEach方法与字符串拼接的兼容性问题
                        本文深入探讨了在Java中使用List的forEach方法时遇到的字符串拼接问题,提供了有效的解决方案及背后的原理分析,旨在帮助开发者更好地理解和解决此类问题。 ... [详细]
                      • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
                      • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
                      • 探讨如何从一系列可能返回Option类型的函数中,高效且优雅地获取第一个非空结果。 ... [详细]
                      • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
                      • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
                      author-avatar
                      疾风灬浪
                      这个家伙很懒,什么也没留下!
                      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
                      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有