兴业银行信用卡前置系统性能测试 - 性能监控策略V1.0

发布时间:2013-06-22 17:24:23   来源:文档文库   
字号:

性能监控策略

注:以下是在前期初步了解兴业银行卡前置系统后,我们基于逐层分析法总结的监控方法,及一些简单的调优分析建议,可供现场的两位性能工程师参考,具体如下:

1. 性能监控策略

2.1主机监控

2.1.1主机监控配置

启动rstatd守护进程

Loadrunner监控AIX操作系统所依赖的服务为rstatd服务,AIX操作系统默认该服务器是关闭的,启动该服务步骤如下:

使用root用户登录AIX操作系统;

进入/etc目录下,编辑inetd.conf文件vi /etc/inetd.conf,打开inetd.conf文件后,在该文件中查找rstatd的行/rstatd),即可查找到如下显示的行:

#rstatd sunrpc_udp udp wait root /user/sbin/rpc.rstatd

在上面的行中,删除注释符#,然后退出,并保存inetd.conf文件

如果rpc服务端口屏蔽,进入etc/rc.tcpip,编辑154行左右,start/user/sbin/portmap

#src-running

是否被注释掉,取消

启动rpc端口 startsrc -s portmap

stopsrc -g nfs

startsrc -g nfs

启动inetd服务即可,如下:

# refresh -s inetd

查看rstatd是否启动,如下命令,如显示rpc.rstatd服务表示已经启动。

#rpcinfo –p

配置LoadrunnerUnix监控包

选择UNIX Resources拉进监控栏中,点击右键选择Add Measurements

点击第一个“Add”按钮,输入监控的unix服务器的IP

点击第二个“Add”按钮,选择需要监控的性能指标,如下:

点击“OK”按钮,即可收集Unix的系统资源指标,如下:

LR for Unix监控器配置到此结束。

2.1.2 性能指标及调优建议

指标类型

指标名称

指标描述

分析(调优参考)

CPU

CPU utilization CPU

CPU 的使用时间百分比

CPU利用率正常值:70%左右

如果持续在90%以上说明CPU是瓶颈

System mode CPU utilization

在系统模式下使用 CPU 的时间百分比

User mode CPU utilization

在用户模式下使用 CPU 的时间百分比

Memory

Page-in rate

每秒钟读入到物理内存中的页数

Page-out rate

每秒钟写入页面文件和从物理内存中删除的页数

尽可能的越少越好,有少量Page-out说明内存不足,大量的Page-out说明内存严重匮乏

Paging rate

每秒钟读入物理内存或写入页面文件的页数

Disk

Disk Traffic

磁盘交换率

Network

Incoming packets rate

每秒钟传入的以太网数据包速率

Outgoing packets rate

每秒钟传出的以太网数据包速率

Incoming packets error rate

每秒钟传入的以太网数据包错误率

Outgoing packets error rate

每秒钟传出的以太网数据包错误率

Interrupt rate

网络中断率

2.2 Tuxedo性能指标监控

主要使用Tuxed命令进行指标收集,主要命令为:pq

收集指标如下:

指标类型

指标名称

指标描述

显示该系统的

队列信息

Queue Name

消息队列名

Serve

连接的服务数

Wk Queued

消息队列的当前负载量(当前队列的所有请求的参数和)

Queued

消息队列的当前实际请求数

Ave.Len

消息队列的平均长度

Bytes on queue

正在队列中等待的所有消息的总字节数

Messages on queue

队列中正在等待的总请求数。默认情况下为 0

当前连接到tuxedo的客户信息

Client Name

客户进程名

Time

客户进程处在Staus的时间

Status

service的状态,IDLE/BUSY

Bgn/Cmmt/Abrt

启动/提交/中断的交易数

2.3 Informix性能监控及调优

2.3.1 性能指标获取

主要使用onstat命令来捕捉informix性能参数,操作步骤为:使用informix用户登录系统,然后输入onstat命令加各个参数即可收集相关性能指标,主要收集的指标如下:

主题或功能

选项标志

显示OnLine活动简要表(profile)统计数据

onstat -p

缓冲区,所有使用的或未使用的信息

Onstat -B

当前使用中的缓冲区信息

Onstat -b

显示关于共享或等待缓冲区的线索的精确信息

Onstat -X

显示缓冲区杂凑链信息

Onstat -h

配置文件信息($INFORMIXDIR/etc/ONCONFIG)

onstat -c

显示各Dbspacechunk常用信息

onstat -d

显示各Dbspace中前50chunk的页读入/写出信息

onstat -D

交互方式

onstat -I

显示latch的常用信息

onstat -s

显示关于活动锁的信息

onstat -k

日志信息(逻辑日志和物理日志,包括页地址)

onstat -l

显示LRU队列,FLRU队列,MLRU队列的详细信息

onstat -R

监控多线索等信息

onstat -g

显示OnLine系统消息日志的最后20行内容

onstat -m

周期性地重复onstat命令

onstat -r

将当前共享内存段的副本存储到一个指定的文件中

onstat -o

面向用户(小写)选项汇总

onstat -a

显示活动tblspace的常用信息

onstat -t

显示事务信息

onstat -x

用户线索和事务

onstat -u

显示页刷新到磁盘时发生的各种写操作类型计数信息

onstat -F

将所有统计计数置0(清空简要表统计)

onstat -z

等同于onstat–cuskbtdlp

onstat -a

常用的关键参数:

$ onstat p

主要查看buffer/写命中率,锁使用情况,死锁(deadlks)、锁等待(lokwaits)、bufwaits等等 buffer命中率一般要高于90%

$onstat -l

主要查看物理和逻辑日志

$onstat -F

主要查看内存LRU管理情况

2.3.2 性能指标调优参考

以下是以前项目关注的性能指标,及调优结果,可供参考,具体如下:

注:informix性能参数配置文件一般为:/Informix/etc/onconfig.xyk

调优参数

调优参考

备注

调整数据库逻辑日志的数量和大小

LOGFILES调整成30

LOGSIZE调整成10000

调整物理日志空间大小

physfile大小调整为500000 K

调整锁的大小

将锁大小调整为1000000

调整Buffers的大小

调整为物理内存大小的1/4

调整CLEANERS值的大小

将默认的128调整成8

调整LRUS值的大小

将默认的128调整成8

LRU_MAX_DIRTY调整成95

LRU_MIN_DIRTY调整成85

调整一些表的运行模式

某些表建立索引;

某些表的表锁调整成行锁

2.3.3 抓取SQL语句方法

方法1抓取存在问题的执行SQL语句

查找运行threads,输入命令:

onstat –g act

例:显示如下:

onstat –u | grep 8030eab8

注:8030eab8rstcb字段值

例:显示如下:

onstat –g sql 131047

注:131047sessid字段值

输入该命令后,即可捕捉存在问题的SQL语句。

方法2抓取所有执行的SQL语句

输入命令:onstat –g sql 0即可获取所有执行的sql语句

:上面的0代表数字零,不是字母。

3. Informix表锁的查看

锁表处理步骤:

1onstat -ks|grep HDR+X //重查询是那个表被锁

address wtlist owner lklist type tblsnum rowid key#/bsiz

c1809510 0 d656e774 c181cb3c HDR+X 6002e1 2c602 0

需要关注lklisttype项,从上面来看tblsnum6002e16292193十六进制转换成十进制)

的表被锁了。可以重查询是那个表被锁:

dbaccess select * from systables where partnum='6292193'得到

tabname basetab_mvpn

owner smpmml

partnum 6292193

tabid 12813

rowsize 464

ncols 61

nindexes 1

nrows 2984

created 12/10/2002

version 839843846

tabtype T

locklevel R

npused 746

fextsize 16

nextsize 16

flags 0

2onstat -u,将owner(address)d656e774的线程找出来

address flags sessid user tty wait tout locks nreads nwrites

d656e774 Y--P--- 4261 smp20 - d6ad2330 0 180 99620 16

3onstat -g sql 4261(sessid)可以将这个线程执行过的sql语句打印出来。

4、只要用informix用户执行onmode-z sessid干掉线程

onmode-z 4261

重点说明:onstat -g ses sessid找个进程PID,然后ps -ef|grep Pid; kill -9 pid

在处理这些问题时还会遇到表被锁是因为该线程还没有执行完毕,此时就不能简单的 onmode -z杀线程

4. Informix数据库整理

执行update statistics语句的作用就是将您创建的数据库表的有关统计信息更新到系统sysmaster的相关表中(systablessyscolumnssysindexessysdistribsysprocplan),以便查询优化器选择最佳的执行路径。当sysmaster库中没有相应的统计信息,或者统计信息不十分准确时,优化器便无法制定一个行之有效的查询策略,其结果必然是进行大量极其可怕的顺序扫描,产生严重的性能问题。

整理数据库语法:Update Statistics

(1)update statisticsupdate statisticslow,对当前数据库中所有表(包括系统表)及过程进行更新统计。

 (2)update statistics low for table,对当前数据库中所有表(包括临时表,但不包括系统表)进行更新统计。

 (3)update statistics low for table tablename,对指定的表所有字段进行更新统计。

 (4)update statistics low for table tablename(columnlist),对指定表的指定字段进行更新统计。

 (5)如果不带drop distributions,原有字段分布情况依然保留;否则,原有字段分布情况将被删除。

本文来源:https://www.2haoxitong.net/k/doc/4dfb5ef19b89680203d8257d.html

《兴业银行信用卡前置系统性能测试 - 性能监控策略V1.0.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式