`
steven-zhou
  • 浏览: 207854 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Tuxedo ubbconfig配置详解

阅读更多
/* TUXEDO配置文件指标解释 */
应用的描述信息配置在系统核心位置,用一个文件描述,通常称为ubbconfig文件,在主控机器上。整个TUXEDO系统的管理任务可以在一台机器上完成,在配置中被定为主控节点。
在运行时,这些信息被装入一段共享内存(一个IPC资源),称为公告牌(Bulletin Board—BB);包含有配置中不同机器的信息,在这些机器上运行的服务的信息,这些服务提供的交易的信息以及其他相关信息。
客户端在运行时连接公告牌。当客户端程序调用一个交易,将根据公告牌找到合适的服务队列。
所以,公告牌是:
——供客户端寻找适当的服务运行一个交易请求
——包含应用信息:机器,服务,交易,网络等
——创建于ubbconfig文件
TUXEDO提供一个管理进程,称为BBL(Bulletin Board Liaison),包含了一个公告牌的本地拷贝和本地服务器上应用的状态。
TUXEDO提供的另一个管理进程DBBL(Distinguished Bulletin Board Liaison),用于多服务器配置时。DBBL与BBL协同,保证所有部分的公告牌内容的一致性。


配置文件
任何TUXEDO应用系统的最基本的管理任务,是建立并维护配置文件。该文件通常称为ubbconfig文件。负责该工作的系统管理员必须很好的了解分布于各台机器上的应用服务的数据流,消息队列的构造,资源间的相互关系。ubbconfig文件可视作包含应用启动信息的容器,需编译成二进制文件tuxconfig,作为启动时的参考。
其内信息包括:
2 系统范围信息(*RESOURCES节)
2 机器信息(*MACHINES节)
2 组信息(*GROUPS节)
2 服务信息(*SERVERS节)
2 交易信息(*SERVICES节)
2 网络组信息(*NETGROUPS节)
2 网络信息(*NETWORK节)
2 路由原则信息(*ROUTING节)
当完成了ubbconfig文件后,用tmloadcf命令生成tuxconfig
另一种从ubbconfig生成tuxconfig的方法是使用图形管理界面(GAI—Graphical Administration Interface)。
// 应用的信息
*RESOURCES节包含整个应用范围的信息。本节必须在配置文件第一节,不可缺少。信息说明如下:
// 参数 意义
*RESOURCES *RESOURCES节
IPCKEY 共享内存id
UID TUXEDO管理员用户id
GID TUXEDO管理员组id
PERM TUXEDO管理员组用户的权限
MAXACCESSERS 服务端和客户端的最大进程数
MAXSERVERS 限制可以启动服务总数
MAXSERVICES 限制可以发布交易总数
MASTER 指出主控节点的逻辑名,第二个是备份节点
MODEL 应用构架,MP表示多机
OPTIONS LAN,MIGRATE表示是一个网络应用,服务可以移植到替代处理器上
SECURITY 安全级别(5个)
AUTHSVC 客户端可以通过交易“AUTHSVC”获得认证
NOTIFY DIPIN,客户端通过dip-in收到广播通知
SYSTEM_ACCESS PROTECTED,NO_OVERRIDE,应用代码不得干扰共享内存
LDBAL 设Y则进行负载均衡
MAXBUF[S]TYPE 数据缓冲类型及子类的最大数
SCANUNIT 内部时间间隔单位,单位是秒
SANITYSCAN 检索公告牌的内部时间间隔,单位是SCANUNIT
BLOCKTIME 交易超时时间,单位是SCANUNIT
BBLQUERY DBBL查询所有BLL的时间间隔
DBBLWAIT DBBL等待BBL回应的超时时间
MAXCONV 同时最大会话数
注意:本处未列出全部参数。这些系统范围内参数可以被后序节内参数超越。
范例
*RESOURCES
IPCKEY 80952
UID 213
GID 1
PERM 0660
MAXACCESSERS 150
MAXSERVERS 75
MAXSERVICES 200
MASTER SITE1,SITE2
MODEL MP
OPTIONS LAN,MIGRATE
SECURITY APP_PW
AUTHSVC AUTHSVC
NOTIFY DIPIN
SYSTEM_ACCESS PROTECTED,NO_OVERRIDE
LDBAL Y
MAXBUFTYPE 10
MAXBUFSTYPE 15
SCANUNIT 10
SANITYSCAN 12
BLOCKTIME 3
BBLQUERY 24
DBBLWAIT 10
MAXCONV 10


// 机器信息
*MACHINES节包含应用有关的每个处理器的信息。本节必须在*RESOURCES节后列出。
//  参数 意义
*MACHINES MACHINES节
gumby 物理处理器名,可以通过”uname –n”或节点名得到
TUXDIR TUXEDO系统软件安装位置
APPDIR 应用服务位置全路径
TUXCONFIG TUXEDO配置文件全路径
ENVFILE 环境文件全路径
ULOGPFX 应用日志文件全路径
MAXACCESSERS 本机最多处理器数,可以超越*RESOURCES节定义
MAXCONV 本机最大会话数,可以超越*RESOURCES节定义
范例
*MACHINES
gumby LMID=SITE1
TUXDIR=”/usr/tuxedo”
APPDIR=”/usr/apps/atmapp”
TUXCONFIG=” /usr/apps/atmapp/atmapp.tux”
ENVFILE=” /usr/apps/atmapp/ENVFILE”
ULOGPFX=”/usr/apps/atmapp/logs/ULOG”
MAXACCESSERS=100
MAXCONV=15


// 组定义
*GROUP节包含服务组的定义。一台机器至少要定义一个服务组。如果没有定义组,管理命令tmadmin可能依然能运行。
每个组只要定义组名,映射组名的组号和逻辑机器名。组为分布式交易系统和数据依赖路由等灵活性措施提供了支持。
// 参数 意义
*GROUPS GROUP节
BANKB1 组的唯一标识符,可以是字母数字
GRPNO 组的唯一数字标识符
LMID 组所在的机器
范例
*GROUPS
BANKB1 GRPNO=200 LMID=SITE1
BANKB2 GRPNO=220 LMID=SITE1
SYSGRP GRPNO=110 LMID=SITE1
EVTGRP1 GRPNO=120 LMID=SITE1


// 服务定义
ubbconfig的*SERVERS 节包含的是服务进程的信息。本节中每一个入口代表一个应用启动时加载的服务。这些信息包含服务名,命令行参数,服务环境,重启动等等。由于每个服务功能各不相同,其配置参数也因此相同或相异。
参数 意义
*SERVERS SERVER节,列出所有服务程序
DEFAULT: 本处列出的参数为其下列出的服务的缺省值,但可以被单列条目替代相应值
RESTART 如果设成Y,则服务可以重启动
MAXGEN 在GRACE定义时间之内,服务可以重启动MAXGEN次
GRACE 周期,单位是秒
RCMD 每次服务重启动,本处定义的脚本或命令被执行
ENVFILE 列有环境变量的文件,在交易启动前设入环境
TLR 一个服务名,用buildserver建立,应在APPDIR或$TUXDIR/bin
SRVGRP 服务属于一个在*GROUPS节中定义的服务组;如果需要移植服务,也可以定义在多个组中。
SRVID 服务组中代表服务的唯一值
MIN 最少在启动时启动的服务数
MAX 运行时,最多可以起的实例数
CLOPT 跟随服务启动的其他参数
-A 服务内建交易全发布
–r 指定服务记录时间戳,用于以后计算交易处理时间
-e 定义标准错误重定向文件
-o 定义标准输出重定向文件
-- TUXEDO参数和服务特定参数的分隔符
… 传给tpsvrinit()的参数
SYSTEM_ACCESS 设定后,应用错误不干扰公告牌
RQADDR 当设定此项后,所有本服务的实例都使用相同的请求队列。这是在应用中设置MSSQ(Multiple Server Single Queue)的方便办法,可以改善处理流量。任何时候,所有MSSQ集中的实例发布相同的交易集。
XFER 另一个服务
REPLYQ 设成Y,则服务又作为一个MSSQ集配置,任何其中的交易调用其他交易,就建立一个单独的回应队列。
范例
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 GRACE=3600
RCMD=”/sur/apps/atmapp/scripts/beeper”
CLOPT=”-A” ENVFILE=”/usr/apps/atmapp/envfile”
TLR SRVGRP=BANKB1 SRVID=10 MIN=1 MAX=2
CLOPT=”-A –r
-e /usr/apps/atmapp/logs/TLR1.err
-o /usr/apps/atmapp/logs/TLR1.out
--
-T 101 –e 300 –d dbfile”
SYSTEM_ACCESS=PROTECTED
RQADDR=”TLR_Q1”
XFER SRVGRP=BANKB1 SRVID=20 MIN=1 MAX=2
RQADDR=”XFER_Q1” REPLYQ=Y
CLOPT=”-A –r”


// 交易定义
*SERVICES节提供了应用的特殊交易的信息。包括负载平衡(LOAD)和数据缓冲类型检查(BUFTYPE)。如果全部都是缺省值则本节可以省略。
参数 意义
*SERVICES 交易节
# 注释行符号
大写字母 交易名,由应用服务提供
BUFTYPE 任何向该交易的请求,数据应该是此处定义类型
GROUP 交易所在服务所在的组
LOAD 负载因子,表示处理请求的时间,用于计算负载平衡
PRIO 优先级
范例
*SERVICES
#comment line
DEPOSIT BUFTYPE=”FML”
SRVGRP=BANKB1
LOAD=25 PRIO=70


生成TUXCONFIG文件
UBBCONFIG文件是一个可以编辑成需要的应用配置的文本文件。但是,/T在实际应用上读取的是二进制TUXCONFIG文件用于操作。命令tmloadcf可以把UBBCONFIG文件转化成TUXCONFIG文件。
tmloadcf命令接受以下4个参数:
-c 计算运行应用需要的IPC资源,该信息将提供给管理员,用于在各机器上配置资源。
-n 进行语法检查并不生成TUXCONFIG。
-b 控制TUXCONFIG占用的物理页数。
-y 无条件覆盖TUXCONFIG
环境变量TUXCONFIG必须设定指向二进制TUXCONFIG文件。
在安全要求高的应用中,tmloadcf不能从标准输入接受,环境变量APP_PW必须包含应用密码。
tmunloadcf将TUXCONFIG转换成ASCII格式用于检查。该工具读取环境变量TUXCONFIG指向的文件。输出包含所有的参数,包括TUXEDO设定的缺省值,是UBBCONFIG文件的一个超集。

请你把NETWORK这个section也添上,如果能够说明一下服务在网络上的情况的配置。
情况一:服务在两台机器上,一台UNIXWARE711,另一台在WIN200,采用MP模式。
情况二:主服务在UNIXWARE上,另一台用作BACKUP,也采用MP模式。

谢谢。
另外问一下,domainid是干什么的?
怎么设置管理员的UID,GID,perm。这个管理员是系统的一个用户吗?
我只知道在windows NT下面,UID指定为0。
domainID与域有关。
你可以看看与dmloadcf命令相关的文档帮助理解。


似乎这个domain和NT下的DOMAIN是不一样的吧,
tuxedo这个平台好多的概念啊
 

UID和GID是你服务以哪个用户和组运行,联合PERMS可以判断执行权限,不置为本用户。
Windows NT操作系统的用户和组同Unix区别较大,具体值的影响不详
Domain是在Tuxedo的架构中,可以共同负载均衡,迁移,备份等功能的一组机器,勿要同Group混淆。
与Windows域无关。
请问对这几个参数的设置,各位有什么经验
MAXACCESSERS
MAXSERVERS
MAXSERVICES
MAXGTT
我的MAXACCESSERS已经设到2000了,还要报
114432.tuxedo1!WSH.115679.1.0: LIBTUX_CAT:1122: ERROR: No space in Bulletin Board
114432.tuxedo1!WSH.115679.1.0: LIBTUX_CAT:582: ERROR: Unable to register, registry table full

我的主机是compaq的Es40 4C8G  只跑tuxedo服务
终端数在400个左右

加大MAXACCESSERS、MAXSERVERS、MAXWSCLIENTS:
MAXWSCLIENTS = 1.1*users
MAXACCESSERS = 1.1*(MAXWSCLIENTS+MAXSERVERS)
MAXGTT你还用不到!
如果按1.1的话
那我不是还要减小
我已经设到2000了
搞不懂

报错的时间一般在业务比较繁忙的时候
我们是电信业务,1号左右缴费客户一多,服务器就狂报上面的错误,真是郁闷死了。

你的LICENSE如果小的话,MAXWSCLIENTS = 1.1*users
MAXACCESSERS = 1.1*(MAXWSCLIENTS+MAXSERVERS)这几个设的大也没有用的,因为你连接一个就要占用一个LICENSE的,如果并发多的话就会出现这样的情况,一种方式是在买多的LICENSE,一种方式是用多线程写程序,这样可以在一个CONTEXT里放几个线程,这种情况就是算一个LICENSE,不过BEA工程师,不建议写多线程的程序,不过到是在BEA的文档里有多线程的介绍,你可以参照一下。

你共启动了多少个服务实例?服务实例启得太多并不是好事.
你可以适当减少部分服务启动实例个数.
另外,当服务很忙的时候,不要让系统自动启动服务的额外实例
(就是每个服务的MAX-MIN值),让他们自动进入队列等待.


你的WSL中的参数 -m,-M,-x设置是多少啊,是不是不够,我看上面的错误是WSH的。

WSL     SRVGRP=WSLGRP SRVID=1
        CLOPT="-A -t -- -n //000.000.000.000:8888 -d /dev/streams/xtiso/tcp -m15 -M 25 -x 10 -c 1 -T 60"


按照理论值:
MAXACCESSERS >= (MAXSERVERS + MAXWSCLIENTS*1.1)*1.17
BEA工程师的经验值。
MAXGTT缺省是100,如果你的并发量不大,可以不改。如果MAXGTT值不够,会在ULOG里有明显的报错。
你的应用是长连接还是短连接,如果是长连接,那你的终端数是400个。你的LICENSES是多少?
WSL中的M和x参数的乘积和你所设的MAXWSCLIENTS保持一致,也和你的LICENSES有对应。MAXWSCLIENTS=M*x。按照你给的M和x的值乘积是250,和你的MAXWSCLIENTS对照一下。
另外你的MAXSERVICES的值是不是可以适当增大一点。
MAXACCESSERS再加大一点也没太大关系。
如果客户端处理时间长。可以考虑先tpterm,然后等处理完了再来tpfree一些资源,
尽量让交易时间短。
谢谢各位
问题已经解决
to xxx2002:
问题解决了吗?怎么解决的,说出来让大家学习借鉴一下吗,另外公布一下解决方法也是对那些帮助你的人的一个好的交代吗?

我的UBB文件:
# (c) 2003 BEA Systems, Inc. All Rights Reserved.
#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.5 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
IPCKEY  123456
#Example:
#IPCKEY  123456
DOMAINID simpapp
MASTER  linlin
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL  SHM
LDBAL  N
*MACHINES
LINLINSD LMID=linlin ##机器名称一定要大写!!!用HOSTNAME可以得到WIN32下的名字,unix是 uname -n
  APPDIR="f:\simpapp"
  TUXCONFIG="f:\simpapp\TUXCONFIG"  ##一定不要生成名字为TUXCONFIG的文件夹!否则抱CMDTUX_CAT:878: ERROR: Can't create TUXCONFIG F:\simpapp\tuxconfig
##vtoc_errno 5: Unix error: Permission denied
  TUXDIR="c:\bea\TUXEDO8.1"


#Example:
#beatux  LMID=linlin
*GROUPS
GROUP1 LMID=linlin GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
simpserv SRVGRP=GROUP1 SRVID=1 MIN=1 MAX=5
         CLOPT="-A -r -o f:\simpapp\log\simpserv.log"
*SERVICES
TOUPPER
分享到:
评论
1 楼 liveimain001 2011-08-08  
写的挺好的,thx

相关推荐

    安装NumPy教程-详细版

    附件是安装NumPy教程_详细版,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

    语音端点检测及其在Matlab中的实现.zip

    语音端点检测及其在Matlab中的实现.zip

    C#文档打印程序Demo

    使用C#完成一般文档的打印,带有页眉,页脚文档打印,表格打印,打印预览等

    DirectX修复工具-4-194985.zip

    directx修复工具 DirectX修复工具(DirectX repair)是系统DirectX组件修复工具,DirectX修复工具主要是用于检测当前系统的DirectX状态,若发现异常情况就可以马上进行修复,非常快捷,使用效果也非常好。

    Python手动实现人脸识别算法

    人脸识别的主要算法 其核心算法是 欧式距离算法使用该算法计算两张脸的面部特征差异,一般在0.6 以下都可以被认为是同一张脸 人脸识别的主要步骤 1 获得人脸图片 2 将人脸图片转为128D的矩阵(这个也就是人脸特征的一种数字化表现) 3 保存人脸128D的特征到文件中 4 获取其他人脸转为128D特征通过欧式距离算法与我们保存的特征对比,如果差距在0.6以下就说明两张脸差距比较小

    全国大学生信息安全竞赛知识问答-CISCN 题库.zip

    ciscn 全国大学生信息安全竞赛知识问答-CISCN 题库.zip

    JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译).zip

    JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)

    strcmp函数应用.zip

    strcmp函数应用.zip

    蓝桥杯单片机第十一届国赛设计题试做

    蓝桥杯单片机第十一届国赛设计题试做

    基于MATLAB的pca人脸识别.zip

    基于MATLAB的pca人脸识别.zip

    520.html

    520.html

    JAVA在线考试管理系统(源代码+LW+开题报告+外文翻译+英文文献+答辩PPT).zip

    JAVA在线考试管理系统(源代码+LW+开题报告+外文翻译+英文文献+答辩PPT)

    STR710的定时器编程C语言例子,开发环境为IAR EWARM。.zip

    STR710的定时器编程C语言例子,开发环境为IAR EWARM。.zip

    基于物品的协同过滤推荐算法(Python).zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    JAVA文件传输(lw+源代码).zip

    FTP(File Transfer Protocol)是文件传输协议的简称。 FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。 目前FTP服务器软件都为国外作品,例如Server_U、IIS,国内成熟的FTP服务器软件很少,有一些如(Crob FTP Server),但从功能上看来远不能和那些流行的服务器软件媲美。

    python项目源码-深度学习tensorflow的滚动轴承故障诊断方法源码(高分大作业).rar

    本项目基于深度学习TensorFlow框架,针对滚动轴承故障诊断方法进行研究。项目采用了卷积神经网络(CNN)对轴承振动信号进行特征提取和分类,实现了对滚动轴承不同故障类型的自动诊断。 在技术实现上,项目利用TensorFlow搭建了一个高效的CNN模型,通过多层卷积、池化操作以及全连接层,自动学习轴承振动信号中的故障特征。同时,采用交叉熵损失函数优化模型参数,提高故障识别率。此外,项目还集成了数据预处理、模型训练、测试评估等功能模块,方便用户快速上手并进行实验研究。 经过运行测试,该项目代码运行稳定,诊断效果良好,可广泛应用于滚动轴承故障诊断领域。对于计算机相关专业的在校学生、老师或企业员工来说,该项目是一份难得的高分大作业资源,同时也是小白学习和实际项目借鉴的优秀参考资料。请放心下载使用,为您的学习和工作提供帮助!

    超详细的SpringBoot框架入门教程 Spring Boot框架快速入门教程以大量示例讲解了Spring Boot在各类情境

    超详细的SpringBoot框架入门教程 Spring Boot框架快速入门教程以大量示例讲解了Spring Boot在各类情境中的应用,让大家可以跟着老师的思维和代码快速理解并掌握。适用于Java 开发人员,尤其是初学Spring Boot的人员和需要从传统 Spring 转向 Spring Boot 开发的技术人员。 下边是动力节点的SpringBoot教程非常适合初学入门,讲的非常详细,而且全程无废话!

    毕业设计[主机域名]ISPConfig 3.0.1.3_ispconfig3-codepub.zip

    毕业设计[主机域名]ISPConfig 3.0.1.3_ispconfig3-codepub.zip

    matlab开发-用交叉熵优化多变量宏观模型随机多极值优化.zip

    matlab开发-用交叉熵优化多变量宏观模型随机多极值优化.zip

    矩阵特征值的计算方法.zip

    矩阵特征值的计算方法.zip

Global site tag (gtag.js) - Google Analytics