DB2调优(二)资源监控
admin
2023-05-21 15:02:26
0

本次性能调优项目中由于涉及的环节较多,最好能够将生成环境中的所有内容进行监控,同时考虑最低开销,这样就从应用服务器和数据库服务器两个服务器进行,以nmon作为监控基础数据,同时监控JVM和数据库告警和快照。
所有监控的内容都是手段,只有从海量的监控日志中得到规律性、有意义的数据才是性能优化的基础。有了数据就是对数据的分析,本文将首先介绍需要获取的数据,内容也将是我从项目获取的经验。
基础环境:

两台数据库服务器,做的数据库集群。

应用服务器 - JVM线程

项目中主要使用tongweb(老系统版本很低),监控内容类似如下:

监控内容

...
"2018-01-11T02:25:55.663+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnCreated","10",
"2018-01-11T02:25:55.663+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnAcquired","111292",
"2018-01-11T02:25:55.663+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnNotSuccessfullyMatched","0",
"2018-01-11T02:26:25.670+0800","com.tongtech.tongweb:type=jvm,category=monitor,server=server","UpTime","222520621",
"2018-01-11T02:26:25.670+0800","com.tongtech.tongweb:type=jvm,category=monitor,server=server","HeapSize","2143485952",
"2018-01-11T02:26:25.671+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnUsed","0",
"2018-01-11T02:26:25.671+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnSuccessfullyMatched","0",
"2018-01-11T02:26:25.671+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","WaitQueueLength","0",
"2018-01-11T02:26:25.671+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnDestroyed","0",
"2018-01-11T02:26:25.671+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","ConnRequestWaitTime","4",
"2018-01-11T02:26:25.672+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnFailedValidation","0",
"2018-01-11T02:26:25.672+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnReleased","111292",
"2018-01-11T02:26:25.672+0800","com.tongtech.tongweb:name=***,type=jdbc-connection-pool,category=monitor,server=server","NumConnFree","10",
...

关注内容

tongweb的监控数据获取连接池状态等信息,我们的方法是通过Excel宏的方式将日志内转换成可读数据,并进行图形分析。具体内容将单独说明。
JVM线程监控说明

监控意义

通过对tongweb的JVM监控,可初步判定性能高峰时间点、连接池是否满,同时进一步判定连接高峰期的性能瓶颈是否出现在应用上,这对今后的性能分析尤为重要,可将主要性能问题归类,减少不必要的工作。

应用服务器 - netstat

在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

监控内容

以下是在项目中获取的日志摘取

...
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:427         0.0.0.0:*               LISTEN      
tcp        0      0 127.0.0.1:427           0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:58862           0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:2544            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:669             0.0.0.0:*               LISTEN  
...

应用服务器 - nmon

作为本次性能优化主要的分析手段,nmon起着尤为重要的作用,以下是wiki的解释,有时间可以了解

nmon collects the following operating system statistics:
CPU and CPU threads Utilisation
CPU frequency for servers or virtual machines that can alter their clock rate
GPU stats including utilisation, MHz and temperatures
Physical and Virtual Memory use
Disk read & write and transfers
Disk Groups decided by the user
Swap and Paging
Network read & write and transfers
Local File-systems
Network File-system (NFS)
Top Processes by CPU use, Memory size and I/O rates
Kernel stats including Run Queue, context-switch, fork, Load Average & Uptime
Large and Huge memory pages
Virtual Machine stats (depending on the hardware) - useful for Linux running KVM to host virtual machines
Resources in the Server and virtual machine

总结其实nmon更像是系统性能开销的快照,结合对nmon的分析工具可以很清楚的掌握系统的各项指标。
下载分析工具

数据库服务器 - 告警

了解数据库的告警日志也是掌握当前性能的关键环节。

日志如下,如出现error可以针对具体情况进行分析解决。

2018-01-11-00.36.36.090562+480 I13363168A459      LEVEL: Error
PID     : 2228842              TID  : 142490      PROC : db2sysc
INSTANCE: db2             NODE : 000         DB   : TRADE
EDUID   : 142490               EDUNAME: db2agent (**) 0
FUNCTION: DB2 UDB, Query Gateway, sqlqg_fedstp_hook, probe:40
MESSAGE : Unexpected error returned from outer RC=
DATA #1 : Hexdump, 4 bytes
0x07000007053F28D0 : 8126 0012                                  .&..

数据库服务器 - 快照

数据库日志快照将作为主要分析依据,在快照中可以分析数据库时间的开销情况,如下:

...

Number of automatic storage paths          = 1
Automatic storage path                     = /db2data
      Node number                          = 0
      State                                = In Use
      File system ID                       = 9223372079804448776
      Storage path free space (bytes)      = 69730709504
      File system used space (bytes)       = 139648946176
      File system total space (bytes)      = 209379655680

...

本文只是列出了分析的方法,具体操作有时间我会慢慢总结。
工具的利用固然重要,但是性能调优并不是仅仅如此,必须步步为营做好长期作战的准备。

相关内容

热门资讯

抽水马桶水箱不进水的解决办法 步骤一、准备小刷子或是其他清洁工具;步骤二、打开水箱盖子;步骤三、将水箱的堵塞和污渍清理干净;步骤四...
马桶抽水后不停的流水怎么办 解决方法:水箱材质的问题,将马桶水箱拆分开来,一个一个逐一进行检查看是马桶水箱里面的零件是否完好,及...
马桶后面的抽水泵坏了怎么办 换一个新的。方法:先将坏的抽水泵拆卸下,把水箱下方的进水关闭,再通过扳手,一只手扶着水箱当中的进水阀...
冰箱生蛆冰箱还能要吗 可以要的,生蛆的原因是食物存放太久导致腐烂,以及冰箱温度调节有误;冰箱保鲜室的温度要控制在0~10度...
吕美拉门多少钱可以买到- 回复者:安徽富邦装饰工程设计有限公司 安徽富邦装饰为您解答 门的话看尺寸,看您选的材料,不同的材料价...
邯郸中院通报“女子信访遭执行局... 8月4日,河北邯郸市中级人民法院发布情况通报:针对网上反映丛台区人民法院执行局局长郭红波相关问题,我...
蓝凌星通完成数千万元股权融资,... 北京蓝凌星通科技有限公司(简称:蓝凌星通)是专注卫星通信硬科技研发的企业,以自主研发的"超低功耗终端...
嫦娥六号月壤新发现:月球正面、... 观点网讯:2026年7月,我国科研团队依托嫦娥六号带回的1935克月背土壤样本,给出了部分答案。 团...
AI接连推翻数学猜想,人类还能... “本届菲尔兹奖,将是人类最后一次拿下这项数学最高荣誉?”这个论断你相信吗?在王虹、邓煜历史性拿下菲尔...
全球AI大抛售,泡沫破了吗? 今年,“最好的夏天”无疑也是“最残酷的夏天”。 全球人工智能主题大抛售——在美股市场,科技股暴跌,“...