当前位置:   article > 正文

达梦数据库教程:DM8性能诊断(内存、CPU、磁盘、网络、AWR日志和接口日志诊断)_达梦性能

达梦性能

性能诊断

一、前言

1.1 概念

性能诊断用于了解操作系统以及数据库的各项性能指标是否达到要求,以满足系统正常运行需要。通过性能诊断,可以更好地了解系统资源的使用情况、以及数据库的状态,提前避免由于性能不足引发的各种问题。性能诊断在数据库运维中具有极大的实用价值。

性能诊断包括以下内容:

  • 提前准备工作
  • 系统资源诊断
  • 动态视图诊断
  • 跟踪日志诊断
  • AWR 日志诊断
  • 相关接口诊断

1.2 术语

性能诊断中会使用到的相关术语:

  • CPU:中央处理器,是计算机系统的运算核心和控制核心。
  • 内存:暂时存放 CPU 中的运算数据,是外存与 CPU 进行沟通的桥梁。
  • 磁盘:计算机主要的存储介质,可以存储大量的二进制数据,并且断电后可保持数据不丢失。
  • IO:I/O 输入/输出 (Input/Output),分为 IO 设备和 IO 接口两个部分。
  • 视图:视图是从一个或几个基本表(或视图)中导出的虚拟的表。
  • 执行计划:SQL 语句的执行方式,由查询优化器为语句设计的执行方式,交给执行器去执行。

1.3 适用范围

本文中所涉及内容适用于 DM7 及 DM8 版本数据库产品。

二、提前准备工作

环境是承载数据库稳定运行的基础保障,在进行数据库性能优化之前,需要观察确认现场的环境信息。主要包括硬件信息、软件信息和其他信息。

  1. 硬件信息收集项。
硬件硬件配置运行情况
CPUcat/proc/cpuinfotop\vmstat\sar
内存cat/proc/meminfotop\vmstat\free
磁盘RAIDiostat
网络ifconfigping\route\netstat
  1. 软件信息收集项。
分类说明
数据库版本SELECT * FROM V$VERSION;
数据库架构单机\主备\读写分离\MPP\DSC
交易类型OLTP\OLAP\OLTP 与 OLAP 混合
配置参数资源类参数\查询优化参数
数据库规模库大小\大表\分区表\索引
关注的对象触发器\大字段\物化视图\外部链接
会话数SELECT COUNT(*) FROM V$SESSIONS;
事务数SELECT COUNT(*) FROM V$TRX;
等待事件SELECT * FROM V$TRXWAIT;
内存池SELECT * FROM V$MEM_POOL;
热点热点表\热点 SQL
  1. 其他信息收集项。
分类说明
硬件是否有硬件更换\重启\升级
软件是否有新业务上线\新模块适配
用户是否有业务用户增加\业务访问时间调整\业务访问模块集中

三、系统资源诊断

系统资源诊断用于了解服务器的内存、CPU、磁盘 I/O 和网络的性能情况,系统资源诊断主要分为内存性能诊断、CPU 性能诊断、磁盘 I/O 性能诊断和网络性能诊断。

3.1 内存性能诊断

Linux 内核给每一个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的,这样进程就可以很方便地访问内存,即虚拟内存。本节介绍常见内存性能分析命令,以及内存性能分析方法。

3.1.1 相关命令

1. top 命令

top 命令经常用来监控 Linux 系统 CPU、内存的使用情况,关于 top 命令的详细介绍请参考系统资源监控

在某系统中输入 top 命令之后显示结果如下所示:

image.png

(1)第四行显示为系统内存状态,显示物理内存总量为 995748kb,使用的物理内存总量为 629136kb,空闲内存总量为 111316kb,用作内核缓存的内存量为 255296kb。

(2)第五行显示 swap 内存相关信息,交换区总量为 2097148kb,使用的交换区总量为 41224kb,空闲交换区总量为 2055924kb,用作缓冲的交换区总量为 208080kb。

2. vmstat 命令

vmstat 是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、IO 读写、CPU 活动等进行监视,在某系统中输入 vmstat 命令之后显示结果如下所示:

image.png

(1)memory 部分:切换到内存交换区的内存大小为 40968KB,当前空闲的物理内存大小是 68132KB,用于磁盘缓存的大小为 0KB,用于页面缓存的内存大小为 255896KB。

(2)swap 部分:每秒从交换分区读回到内存的大小为 1KB,每秒写入交换分区的大小为 26KB。

3.1.2 分析方法

使用 vmstat 命令对内存性能进行分析:

 [root@localhost dm8]# vmstat 1 5
##使用 vmstat 检测,每隔 1 秒刷新一次,共刷新 5 次。
  • 1
  • 2

在某系统中输入 vmstat 命令之后显示结果如下所示:

image.png

指标解读如下:

  1. memory

(1)swpd :如果 swap 的值不为 0,或者比较大,比如超过 100 MB ,但是 si 和 so 的值长期为 0,这种情况不会影响系统性能。

(2)free :空闲内存 (free) 很少或接近于 0 时,并不能认定为内存不够用,Linux 是抢占内存的 OS,还要结合 si 和 so;如果 free 很少,si 和 so 也很少(大多时候是 0),系统性能在这种情况下不会受到影响。

(3)cache :如果 cache 的值大的时候,说明 cache 处的文件数多,如果频繁访问到的文件都能被 cache,那么磁盘读 IO 的 bi 会非常小。

  1. swap:内存够用的时候,si 和 so 这 2 个值都是 0,如果这两个个值长期大于 0 ,系统性能会受到影响,磁盘 IO 和 CPU 资源都会被消耗。

3.2 CPU 性能诊断

CPU 是计算机系统的大脑,其重要性不可置否。在性能优化的过程中,CPU 的性能指标是很重要的。本节主要介绍 CPU 性能分析命令,以及 CPU 性能分析方法。

3.2.1 相关命令

1. top 命令

top 命令经常用来监控 Linux 系统 CPU、内存的使用情况,关于 top 命令的详细介绍请参考系统资源监控

在某系统中输入 top 命令后显示结果如下所示:

image.png

第三行显示 CPU 相关信息,当前用户空间占用 CPU 百分比为 0.0%;内核空间占用 CPU 百分比为 0.0%,用户进程空间内改变过优先级的进程占用 CPU 百分比为 0.0%,空闲 CPU 百分比为 100.0%,等待输入输出的 CPU 时间百分比为 0.0%,CPU 服务于硬件中断所耗费的时间总额为 0.0%,CPU 服务软中断所耗费的时间总额为 0.0%,虚拟机被 hypervisor 偷去的 CPU 时间为 0.0。

2. vmstat 命令

vmstat 是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、IO 读写、CPU 活动等进行监视,在某系统中输入 vmstat 命令之后显示结果如下所示:

image.png

CPU 以百分比显示,用户进程执行时间 2%,系统进程执行时间 1% ,空闲时间 97% ,等待 IO 时间 0%,被偷走的 CPU 时间所占百分比 0%。us + sy + id + wa =100%,近似为 100%。

3.2.2 分析方法

使用 vmstat 命令对 CPU 性能进行分析:

 [root@localhost dm8]# vmstat 1 5
##使用 vmstat 检测,每隔 1 秒刷新一次,共刷新 5 次。
  • 1
  • 2

在某系统中输入 vmstat 命令之后显示结果如下所示:

image.png

指标解读如下:

1. Procs

  • r:如果在 procs 中运行的序列 (processr) 是连续的大于在系统中的 CPU 的个数,表示 CPU 比较忙,系统现在运行比较慢,有多数的进程等待 CPU。如果 r 的输出数大于系统中可用 CPU 个数的 4 倍,则系统面临着 CPU 短缺的问题,或者是 CPU 的速率过低,系统中有多数的进程在等待 CPU,造成系统中进程运行过慢。
  • b:在 procs 中运行的序列 (processb),即处于不可中断状态的进程数,如果连续为 CPU 的 2~3 倍,就表明 CPU 排队比较严重。

如果 r 连续大于 CPU 的个数,甚至是 CPU 个数的几倍;b 也持续有值,甚至是 CPU 的 2~3 倍,并且 id 也持续小于 50%,wa 也比较小,这就表明 CPU 负荷很严重。

2. SYSTEM

  • in:每秒产生的中断次数。
  • cs:每秒产生的上下文切换次数。

in 和 cs 这两个值越大,由内核消耗的 CPU 时间会越大。

3. CPU

  • us:用户进程消耗的 CPU 时间百分比。us 的值比较高时,说明用户进程消耗的 CPU 时间多,在服务高峰期持续大于 50~60,是可以接受的范围,但是如果长期超过 50% ,就需要考虑优化程序算法。
  • sy:内核进程消耗的 CPU 时间百分比。sy 的值比较高时,说明系统内核消耗的 CPU 资源多,对于这种非良性表现需要检查原因。
  • wa:IO 等待消耗的 CPU 时间百分比。wa 的值比较高时,说明 IO 等待比较严重,可能是由于磁盘大量做随机访问造成的,也有可能是磁盘出现了瓶颈(块操作)。
  • id:CPU 处于空闲状态时间百分比,如果空闲时间 (cpu id) 持续为 0 并且系统时间 (cpu sy) 是用户时间的两倍 (cpu us) ,系统则面临着 CPU 资源的短缺,如果在服务高峰期持续小于 50,是可以接受的范围。

除此之外,还可以用以下方法分析 CPU 性能:

  • 观察 CPU 的使用率和 CPU 运行进程队列长度及负载,可以使用命令:sar -u 1 5sar -q 1 5
  • 查看具体是什么进程在消耗 CPU,可以使用命令:topps -auxw|more
  • 知道了某个进程消耗大量的 CPU,想了解该进程详细内容,可以使用命令:strace

3.3 磁盘 I/O 性能诊断

在进行系统资源诊断时,除了需要分析系统 CPU 和内存的状况外,有时需要更进一步了解磁盘 I/O 的使用情况。本节主要介绍常用 I/O 性能分析命令和 I/O 性能分析方法。

3.3.1 相关命令

1. iostat 命令

iostat 是 Linux 最常见的磁盘 I/O 监控工具。基本用法如下:

 [root@localhost dm8]# iostat -d -x -k 1 5
  • 1

参数含义:

  • -d:显示设备(磁盘)使用状态。
  • -k:某些使用 block 为单位的列强制使用 Kilobytes 为单位。
  • 1 5:数据显示每隔 1 秒刷新一次,共显示 5 次。
  • -x:获得更多统计信息。

在某系统中输入此命令之后显示结果如下所示:

image.png

结果解读:

  • rrqm/s:每秒进行 merge(多个 IO 的合并)读操作的数量。
  • wrqm/s:每秒进行 merge(多个 IO 的合并)写操作的数量。
  • rsec/s:每秒读取的扇区数。
  • wsec/s:每秒写入的扇区数。
  • rKB/s:每秒读多少 k 字节,在 kernel 2.4 以上,rkB/s=2×rsec/s,因为一个扇区为 512 bytes。
  • wKB/s:每秒写多少 k 字节,在 kernel 2.4 以上,wkB/s=2×wsec/s,因为一个扇区为 512 bytes。
  • avgrq-sz:平均请求扇区的大小。
  • avgqu-sz:是平均请求队列的长度,队列长度越短越好。
  • await:每一个 IO 请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为 IO 的响应时间,一般地系统 IO 响应时间应该低于 5 ms,如果大于 10 ms 就比较大了。这个时间包括了队列时间和服务时间,一般情况下,await 大于 svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。
  • svctm:表示平均每次设备 I/O 操作的服务时间(以毫秒为单位)。如果 svctm 的值与 await 很接近,表示几乎没有 I/O 等待,磁盘性能很好,如果 await 的值远高于 svctm 的值,则表示 I/O 队列等待太长,系统上运行的应用程序将变慢。
  • %util:在统计时间内所有处理 IO 时间,除以总共统计时间,该参数表示设备的繁忙程度,如果该参数是 100% 表示设备已经接近满负荷运行了(如果是多磁盘,即使 %util 是 100%,因为磁盘的并发能力,所以磁盘使用不一定到了瓶颈)。

2. iotop 命令

iotop 是一个用 python 编写的类似 top 界面的磁盘 I/O 监控工具。使用前需要先安装 iotop。安装命令如下:

 yum install -y iotop
  • 1

在某系统中输入 iotop 命令之后显示结果如下所示:

image.png

结果解读:

  • DISK READ 和 DISK WRITE 字段:代表块设备在采样时间内的 I/O 带宽。
  • SWAPIN 和 IO 字段:表示当前进程或线程花费在页面换入和等待 I/O 的时间。
  • PRIO 字段:表示 I/O 优先级。
  • Total DISK READ 和 Total DISK WRITE 字段:表示总的 I/O 读写情况。
3.3.2 分析方法

使用 vmstat 命令对磁盘 I/O 性能进行分析:

 [root@localhost dm8]# vmstat 1 5
##使用 vmstat 检测,每隔 1 秒刷新一次,共刷新 5 次。
  • 1
  • 2

在某系统中输入 vmstat 命令之后显示结果如下所示:

image.png

如果 b 的值为 2~3 倍 CPU 数量,bi 和 bo 的值很大(有时 bi 和 bo 值很小,但 in 和 cs 很大,也会引起磁盘 IO 负载重),wa 的值持续很高,如高于 40,id 也持续高于 70,这些现象都表明系统的 IO 可能出现性能问题。

可以进一步通过 iostat 命令分析,如下所示:

 [root@localhost dm8]# iostat -x 1 5
##使用 iostat 检测,每隔 1 秒刷新一次,共刷新 5 次。
  • 1
  • 2

在某系统中输入此命令之后显示结果如下所示:

image.png

结果分析:

  1. 检查 %util(服务 IO 的时间占总时间的百分比),如果这个值接近 100%,表示 IO 的请求很多(表示任务服务的所有时间几乎都用在 IO 上),这种现象表明磁盘 IO 性能出现瓶颈。
  2. 检查 await(表示每次 IO 设备等待时间)和 svctm(表示每次 IO 设备服务时间,一般性能越好的磁盘,这个值越小)。
  • 如果 svctm 接近 await ,说明 IO 几乎没有等待,每个 IO 设备都得到及时的响应。
  • 如果 svctm 远小于 await ,说明 IO 等待队列可能很长,IO 的得到服务的时间将延长(排队 + 服务时间)。
  1. avgqu-sz:表示 IO 排队的现象,如果排队过长会影响 IO 的响应时间。
  2. r/s+w/s:可以计算当前系统的 iops(可以结合硬盘的测试或者硬件参数来衡量是否超过磁盘的 iops 最大值)。

通过 iostat 了解到如果磁盘 I/O 出现性能瓶颈,可以借助 pidstat ,定位出导致瓶颈的进程,分析进程的 I/O 行为,结合应用程序的原理,分析这些 I/O 的来源。

3.4 网络性能诊断

网络性能对数据库也有很大的影响,数据库服务器和 Web 服务器之间会进行网络传输,网络延迟和带宽大小都是影响因素。本节主要介绍网络性能诊断相关命令和网络性能分析方法。

3.4.1 相关命令

1. ifconfig 命令

ifconfig 是 linux 中用于显示或配置网络设备(网络接口卡)的命令。在某系统中输入此命令后显示结果如下所示:

image.png

在上图中以 ens33 网卡为例解释其中部分信息的含义。第一行中的 “UP” 表示接口已启用;“RUNNING” 表示接口在工作中;“mtu 1500” 表示最大传输单元为 1500 字节。第二行中的 “inet” 表示 ip 地址。

利用 ifconfig 命令可以对网络信息有一个基本的了解,在此基础上可以利用 ethtool 命令查询网络传输速率。

2. ethtool 命令

使用 ethtool 命令可以查看指定网口对应的网络传输速率。

 ethtool ens33
  • 1

在某系统中输入此命令之后显示结果如下所示:

image.png

结果解读:

  • Supported link modes 为网卡支持的连接模式。
  • speed 和 duplex 字段为当前网络速率和模式。
3.4.2 分析方法

使用 ping 命令测试网络的连通性和响应时间。

ping 发送 ICMP echo 数据包来探测网络的连通性,除了能直观地看出网络的连通状况外,还能获得本次连接的往返时间(RTT 时间),丢包情况,以及访问的域名所对应的 IP 地址(使用 DNS 域名解析)。

 ping -c 4 baidu.com
##参数 -c 表示指定发包数。
  • 1
  • 2

在某系统中输入此命令之后显示结果如下所示:

image.png

解析到 baidu 的一台服务器 IP 地址为 39.156.66.10。RTT 时间的最小、平均、最大和算术平均差分别是 46.588ms、57.268ms、73.026ms 和 10.161ms。

使用 sar 命令测试网络带宽。

sar 命令使用 -n 选项可以汇报网络相关信息。

 sar -n DEV 1 3
  • 1

在某系统中输入此命令之后显示结果如下所示:

image.png

在上图中可以看到每秒钟接收到的包数目为 1,每秒钟发送出去的包数目为 1,每秒钟接收到的字节数为 0.06,每秒钟发送出去的字节数为 0.19,每秒钟接收到的压缩包数目为 0,每秒钟接收到的多播包的包数目为 0。通过这些参数可以对网络带宽有更好的了解。

四、动态视图诊断

利用动态视图可以便捷查询数据库相关信息,并定位数据库性能问题。以下介绍 4 种动态性能视图的诊断方法,分别是查询活动会话数、查询耗时超过 2 秒的 SQL、查询锁和查询阻塞。

查询活动会话数,活动会话数量达到一定程度后会对数据库性能造成影响。

 SELECT COUNT(*) FROM V$SESSIONS WHERE STATE='ACTIVE';
  • 1

查询已执行超过 2 秒的活动 SQL。

 SELECT* FROM (
SELECT SESS_ID,SQL_TEXT,DATEDIFF(SS,LAST_RECV_TIME,SYSDATE) Y_EXETIME,
       SF_GET_SESSION_SQL(SESS_ID) FULLSQL,CLNT_IP
FROM V$SESSIONS WHERE STATE='ACTIVE')
WHERE Y_EXETIME>=2;
  • 1
  • 2
  • 3
  • 4
  • 5

查询锁。

 SELECT O.NAME,L.* FROM V$LOCK L,SYSOBJECTS O WHERE L.TABLE_ID=O.ID AND BLOCKED=1;
  • 1

查询阻塞。

 WITH LOCKS
     AS (SELECT O.NAME,L.*,S.SESS_ID,S.SQL_TEXT,S.CLNT_IP,S.LAST_SEND_TIME
           FROM V$LOCK L, SYSOBJECTS O, V$SESSIONS S
          WHERE L.TABLE_ID = O.ID AND L.TRX_ID = S.TRX_ID),
     LOCK_TR
     AS (SELECT TRX_ID WT_TRXID, TID BLK_TRXID
           FROM LOCKS
          WHERE BLOCKED = 1),
     RES
     AS (SELECT SYSDATE STATTIME,T1.NAME,T1.SESS_ID WT_SESSID,S.WT_TRXID,
                T2.SESS_ID BLK_SESSID,S.BLK_TRXID,T2.CLNT_IP,
                SF_GET_SESSION_SQL (T1.SESS_ID) FULSQL,
                DATEDIFF (SS, T1.LAST_SEND_TIME, SYSDATE) SS,
                T1.SQL_TEXT WT_SQL
           FROM LOCK_TR S, LOCKS T1, LOCKS T2
          WHERE     T1.LTYPE = 'OBJECT'
                AND T1.TABLE_ID <> 0
                AND T2.LTYPE = 'OBJECT'
                AND T2.TABLE_ID <> 0
                AND S.WT_TRXID = T1.TRX_ID
                AND S.BLK_TRXID = T2.TRX_ID)
SELECT DISTINCT WT_SQL,CLNT_IP,SS,WT_TRXID,BLK_TRXID
FROM RES;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

五、跟踪日志诊断

跟踪日志文件是一个纯文本文件,以 ‘dmsql_实例名_日期_时间命名’,默认生成在 DM 安装目录的 log 子目录下。跟踪日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息、执行时间等。跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态进行分析。跟踪日志配置方式如下:

配置 dm.ini 文件,设置 SVR_LOG = 1 以启用 sqllog.ini 配置,该参数为动态参数,可通过调用数据库函数直接修改。

 SP_SET_PARA_VALUE(1,'SVR_LOG',1);
  • 1

配置数据文件目录下的 sqllog.ini 文件。

 [dmdba@localhost DAMENG]$ cat sqllog.ini 
BUF_TOTAL_SIZE  = 10240  #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE        = 1024   #SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT    = 6      #SQLs Log buffer keeped count(1~100)

[SLOG_ALL]
    FILE_PATH       = ../log
    PART_STOR       = 0
    SWITCH_MODE     = 1
    SWITCH_LIMIT    = 100000
    ASYNC_FLUSH     = 0
    FILE_NUM        = 200
    ITEMS           = 0
    SQL_TRACE_MASK  = 2:3:23:24:25
    MIN_EXEC_TIME   = 0
    USER_MODE       = 0
    USERS           =
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

注意

为避免记录 SQL log 对服务器产生较大的影响,可以配置异步日志刷新(参数 ASYNC_FLUSH 设置为1)。

如果对 sqllog.ini 进行了修改,可通过调用以下函数即时生效,无需重启数据库。

 SP_REFRESH_SVR_LOG_CONFIG();
  • 1

sqllog.ini 文件配置成功后可在 dmsql 指定目录下生成 dmsql 开头的 log 日志文件。日志内容如下所示:

image.png

上图中选中记录执行 SQL 语句如下所示,SQL 语句执行时间为 33.815 秒。

 select * from t1 left join t2 on t1.c1=t2.c1 and t1.c1=999933;
  • 1

可以通过正则表达式在 dmsql 日志文件中查找执行时间超过一定阈值的 SQL 语句。例如:查找执行时间超过 10 秒的 SQL 语句。

 [1-9][0-9][0-9][0-9][0-9](ms)
  • 1

如需进行更为系统全面的分析,可使用 DMLOG 工具对 SQL 进行分类汇总。

六、AWR 日志诊断

系统为所有重要统计信息和负载信息执行一次快照,并将这些快照存储在 AWR (自动工作集负载信息库)中。AWR 报告的创建方式如下:

 --启用系统包和 AWR 包:
CALL SP_INIT_AWR_SYS(1);
CALL SP_CREATE_SYSTEM_PACKAGES(1);

--查询 AWR 快照:
SELECT * FROM SYS.WRM$_SNAPSHOT;

--设置快照间隔,如果不设置快照间隔,手动执行快照后 SYS.WRM$_SNAPSHOT 视图中没有记录:
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(50);

--在两个时间点分别手动创建快照,或者等待系统自动生成。
--10:00时创建第一快照:
CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

--30分钟后再创建一个,10:30:
CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

--查询 AWR 快照:
SELECT * FROM SYS.WRM$_SNAPSHOT;

--创建AWR报告,SYS.AWR_REPORT_HTML(快照ID1,快照ID2,'AWR报告存放路径','AWR报告名称.HTLM'):
SYS.AWR_REPORT_HTML(1,2,'C:\','AWR1.HTML');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

七、接口日志诊断

达梦提供各种接口日志,包括 DPI/DCI 日志、ODBC 日志和 JDBC 日志。通过这些日志可以查看报错信息,更好地对问题进行诊断,排查错误。接口日志的开启方法请参考实例状态监控-接口日志

在接口的 URL 连接串中,可以添加日志相关属性。下表所展示的 JDBC 连接串日志相关属性。更多接口连接串属性请参考达梦安装目录下的 doc 文件夹的《DM8 程序员手册》。

属性说明是否必须设置
logDir日志等其他一些 JDBC 过程文件生成目录,默认为 jvm 当前工作目录;
logLevel生成日志的级别,日志按从低到高依次如下(off:不记录;error:只记录错误日志;warn:记录警告信息;sql:记录 sql 执行信息;info:记录全部执行信息;all:记录全部),高级别同时记录低级别的信息;默认 off;
logFlushFreq日志刷盘频率;单位 s,有效值范围 0~2147483647;默认 60;
statEnable是否启用状态监控;取值 1/0 或 true/false;默认 false;
statDir状态监控信息以文本文件形式输出的目录,默认为 jvm 当前工作目录;
statFlushFreq状态监控统计信息写文件刷盘频率;单位 s,有效值范围 0~2147483647;0 表示不写文件;默认 10;
statSlowSqlCount统计慢 sql top 行数;有效值范围 0~1000;默认 100;
statHighFreqSqlCount统计高频 sql top 行数;有效值范围 0~1000;默认 100;

在 jdbc 日志中可以查看接口连接信息。若接口日志中出现异常,可联系相关技术人员进行错误分析。

八、参考

若以上内容无法解决您的问题,可以在 达梦技术社区 提问交流。


links:

https://eco.dameng.com/document/dm/zh-cn/ops/performance-diagnosis.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/935557
推荐阅读
相关标签
  

闽ICP备14008679号