tuxedo性能调优经验谈1_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 6178 | 回复: 0   主题: tuxedo性能调优经验谈1        下一篇 
napolenAx
注册用户
等级:少校
经验:802
发帖:118
精华:1
注册:2011-8-30
状态:离线
发送短消息息给napolenAx 加好友    发送短消息息给napolenAx 发消息
发表于: IP:您无权察看 2011-11-9 13:55:08 | [全部帖] [楼主帖] 楼主

TUXEDO应用系统对IPC资源的要求

一个TUXEDO应用系统在运行时会大量用到IPC资源,包括信号灯,消息队列及共享内存,下面对他们的使用情况及与他们有关的操作系统核心参数分别进行介绍:

UBBCONFIG中与IPC资源有关的配置参数

主要有: MAXACCESSERS ,REPLYQ,RQADDR,MAXSERVERS,MAXSERVICE,MAXGTT

TUXEDO应用系统对IPC资源的要求情况

信号灯:

一个进程在要存取TUXEDO应用系统的公告板(BB)之前,它要先获取一个信号灯,所以TUXEDO应用系统所需要的最大信号灯数与MAXACCESSERS的值相等.即:

MAXACCESSERS = No. of semaphores

与信号灯有关的操作系统核心参数有:

SEMMNS (maximum number of semaphores in use in the system)

SEMMNI (maximum number of active semaphore sets)

SEMMSL (maximum number of semaphores per semaphore set)

SEMMAP (size of control map used to manage semaphore sets)

SEMMNU (number of undo structures in the system)

SEMUME (maximum number of undo entries per undo entries)

消息队列:

TUXEDO应用系统在以下几种情况下会用到操作系统的消息队列

1. 每个SERVER都对应一个消息队列,客户端的请求发送到该消息队列中,该SEVER从

该消息队列中取请求并处理.

2. 如果是本地客户端,那么它也对应一个消息队列,用于接收SERVER的处理结果.如果

是远程客户端,那么SERVER的处理结果通过网络传送,不会占用消息队列.

3. 如果采用MSSQ方式,那么在个MSSQ中的所有SERVER共用一个请求队列.

4. 如果某个SERVER或在MSSQ中设置了REPLYQ=Y,那么它要占用一个消息队列

所以一个TUXEDO应用系统需要的最大消息队列为:

Number of Queues = (MAXACCESSERS + Number of Servers with Reply Queues +

Number of MSSQ Sets - Number of Servers in MSSQ Sets)

与消息队列有关的操作系统核心参数必须满足:

1. 消息队列的个数要足够多,能够满足系统的最大需求

2. 消息的大小必须能满���系统可能出现的最大的消息的大小

3. 消息队列的长度要足够长,能容纳下较多的消息个数,使入对操作不用等待或不用等太长

的时间

与消息队列有关的操作系统核心参数有:

MSGMNI (number of unique message queue identifiers)

MSGMAP (size of control map to manage message segments)

MSGMAX (maximum message size)

MSGMNB (maximum message queue length)

MSGSSZ (size of a message segment)

MSGTQL (number of outstanding messages)

MSGSEG (number of message segments in the system)

TUXEDO把整个应用系统的配置信息放到共享内存中,一个TUXEDO应用系统所需要的共享内存由以下参数及配置决定:

1. MAXSERVERS,MAXSERVICE,MAXGTT的值

2. *ROUTING,*GROUP,*NETWORK节的大小

与共享内存有关的操作核心参数有:

SHMMAX (maximum shared memory segment size)

SHMSEG (maximum number of shared memory segments per process)

SHMMNI (maximum number of shared memory identifiers in the system)

SHMMIN(maximum shared memory segment size) 一般要设为1

一个TUXEDO应用系统在运行时所需要的IPC资源的计算

一个TUXEDO应用系统在运行时所需要的IPC资源可用tmboot -c 计算出来.如UBBCONFIG的内容为:

*RESOURCES

IPCKEY 123456

DOMAINID simpapp

MASTER simple

MAXACCESSERS 100

MAXSERVERS 50

MAXSERVICES 100

MODEL SHM

*MACHINES

MYSERVER LMID=simple

APPDIR="d:\tuxdemo\conn"

TUXCONFIG="d:\tuxdemo\conn\tuxconfig"

TUXDIR="d:\tuxedo65"

MAXWSCLIENTS=5

*GROUPS

GROUP1

LMID=simple GRPNO=1

GROUP2

LMID=simple GRPNO=11

*SERVERS

DEFAULT:

CLOPT="-A"

call SRVGRP=GROUP1 SRVID=2

conn SRVGRP=GROUP2 SRVID=12 CONV=Y

WSL SRVGRP=GROUP1 SRVID=1116

CLOPT="-A -- -n //XCJ:8888 -m 2 -M 5 -x 6"

*SERVICES

TOUPPER

以上的配置所需要的IPC资源可用tmboot -c计算出,结果如下,可根据计算结果调整操作系统的核心参数.

D:\tuxdemo\conn>tmboot -c -y

Ipc sizing (minimum /T values only) ...

Fixed Minimums Per Processor

SHMMIN: 1

SHMALL: 1

SEMMAP: SEMMNI

Variable Minimums Per Processor

SEMUME, A SHMMAX

SEMMNU, * *

Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG

------ ------ ------ ------ ------ ------ ------ ------

XCJ 120 15 115 A + 1 25 50 180K

where 1 <= A <= 8.

The number of expected application clients per processor should

be added to each MSGMNI value.

从输出可知道:

SEMUME,SEMMNU,SEMMNS的值为120,

SEMMSL为15

A*SEMMSL=115,所以A=7,SEMMNI=A+1,所以SEMMNI=8

MSGMNI为25

MSGMAP为50

SHMMAX*SHMSEG必须等于180K

其他核心参数:

在UNIX系统中,对一个用户能拥有的系统资源(如最多能启动的进程数,打开的文件数等)是有限制的.主要有以下参数决定:

ULIMIT(maximum file size)

TUXEDO用户所能创建的最大文件,应考虑创建的SERVER文件的可能大小及ULOG的大小,一个应为ULIMIT.

MAXUP(maximum number of processes per user)

TUXEDO用户所能创建的最大进程数,应设的足够大

IPC资源不够时的出错信息

如果ULOG中出现类似下面的错误,那么就是操作系统的核心参数值或操作系统的资源不够,应进行调整

Clients cannot log into BEA TUXEDO, receive error messages at tpinit:

no space in Bulletin Board

can't register; table full

system init function failed

Global transaction fails, client or server reports failure message

New servers or WSH cannot be started by BEA TUXEDO as needed, error in log file

Message queues become clogged or inaccessible

Write access errors, file system or disk is full

操作系统核心参数的调整方法

不同操作系统,核心参数的调整方法都不太一样,一般由系统管理员来进行调整.这里不作介绍.在UNIX系统中,只要ROOT用户才能对系统的核心参数进行调整.并且一般要重新启动系统所做的调整才能生效.在调整之前最好对原来的参数做一个备份.

SOLARISE系统核心参数的调整

SOLARISE系统的核心参数保存在文件/etc/system中,可直接对它进行编辑

右边为添加的说明.

#与共享内存有关的核心参数

set shmsys:shminfo_shmmax = 4967295 #Maximum shared memory segment size in bytes.

set shmsys:shminfo_shmmin = 1 #

set shmsys:shminfo_shmmni = 100 #

set shmsys:shminfo_shmseg = 10 # Maximum number of shared memory

#segments per process. The maximum amount of

#shared memory in bytes to which a process can

#attach is SHMMAX *SHMSEG.

#与消息队列有关的核心参数

set msgsys:msginfo_msgmni = 600 #Number of unique message queue identifiers.

set msgsys:msginfo_msgmax = 10240 #Maximum message size in bytes.

set msgsys:msginfo_msgmnb = 6600000 #Maximum message queue length in bytes.

set msgsys:msginfo_msgmap = 1200 #(2*msgmni) Number of entries in the control

#map used to manage message segments.

set msgsys:msginfo_msgseg = 1200 #(2*msgmni) Number of message segments in the

#system.

*set msgsys:msginfo_msgtql = 400

#与信号灯有关的核心参数

set semsys:seminfo_semmns = 600 #Maximum number of semaphores in the system.

set semsys:seminfo_semmni = 100 =semmns #Maximum number of active semaphore sets.

set semsys:seminfo_semmsl = 600 =semmns #Maximum number of semaphores per

#semaphore set.

set semsys:seminfo_semmap = 600 =semmni

set semsys:seminfo_semume = 1

set semsys:seminfo_semmnu = 600 >semmns

也可以在SOLARISE的图形化管理界面中进行配置.




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论