Tuxedo及其编程

合集下载

TUXEDO性能调优的基本方法

TUXEDO性能调优的基本方法

TUXEDO性能调优的基本方法一. 通过配置MSSQ服务器组提高性能在ATMI环境中(TUXEDO-CORBA服务器环境不支持MSSQ机制)可以通过配置MSSQ(多服务器单队列)机制来达到队列级负载均衡的目的。

同一组MSSQ服务器在同一时间将共用一个请求队列,当消息出队时,将被送到第一个空闲的服务器去处理。

如果服务器A属于某个MSSQ的一部分,那么必须为它配置响应队列,即设置REPLYQ=Y,这样当A调用了B服务时,B对A的响应将被回送到发出原始请求的服务器A,而不是MSSQ服务器组中的其它服务器。

MSSQ机制可以配置成动态形式,这样TUXEDO系统会根据负载状况动态地产生和消除MSSQ中的服务器。

在下列情况下,可以考虑配置MSSQ:应该配置MSSQ 不应该配置MSSQ服务器数量在2到12个之间 如果有多个服务器,折衷的办法是使用多个MSSQ请求缓冲区不是很大,没有大到将一个队列占满的情况 一个请求缓冲区可能会占满整个服务器队列空间。

所有的服务器都提供一组相同的服务 每个服务都提供不同的服务需要配置多个服务器进程才能满足客户机对服务器的实时性的要求。

每个MSSQ的服务器数量一般不要超过10个,如果超过10个,建议配置多个MSSQ。

在下面两种情况下,使用MSSQ将达到调优的效果:A.银行业务中,多个TELLER执行相同的服务来为客户提供服务,下一个空闲的TELLER将为下一个等候的客户服务。

在这种情况下,每个TELLER必须能够执行所有的客户服务。

在同一个MSSQ中的服务器必须在任何时候都提供相同的服务。

MSSQ的优点在于,它在队列级提供了第二种形式有的负载均衡。

B.在超市收款业务中,不同的CASHIERS接收不同形式的客户支付(如信用卡,现金等),在这种情况下,不推荐使用MSSQ。

例如:simpserv SRVGRP=GROUP1 SRVID=10 MIN=3 MAX=5RQADDR=simpserv REPLYQ=Y这个配置将启动3个simpserv进程,SVRID依次为10,11,12。

TUXEDO 第六章 服务端编程

TUXEDO 第六章 服务端编程

第六章:TUXEDO的服务端编程服务端编程的任务在三层结构中,把业务逻辑都放到中间层上,采用TUXEDO做中间件时,也就是放到TUXEDO的服务端上,在服务端把业务逻辑划分成一个个独立的服务(SERVICE),把多个服务按一定的规则绑定到一个SERVER中.客户端调用这些服务来实现相应的操作.所以服务端编程的主要任务就是编写一个个的服务(SERVICE)。

SERVER的生命周期如图:SERVER端的生命周期如下:1.在SERVER启动时,它将自动调用初始化函数:tpsvrinit(int argc, char *argv[])如果该SERVER所在的GROUP配置了连接数据库的接口,那么在默认情况下,该SERVICE将自动调用tpopen(),与数据库建立连接。

2.该SERVER将把它所包含的SERVICE在系统的BOLLITIN BOARD中进行登记。

使客户端可以调用这些SERVICE3.该SERVER进入循环,从它所对应的消息队列中取CLIENT发送的请求,调用相应的SERVICE进行处理,并调用tpreturn()把结果返回给CLIENT端或调用tpforward()传送给别的SERVICE处理。

4.当系统SHUTDOWN 或用tmshutdown –s 把该SERVER SHUTDOWN 时,将自动调用SERVICE:tpdone()它将做一些清除工作,如断开与数据库的连接,从系统的BULLITON BOARD中清除与该SERVER对应的登记项。

SERVER端编程SERVER端编程主要用C(或COBAL)语言编写一个个的SERVICE,如果需要进行数据库调用,则用数据库提供的嵌入SQL语言的编程接口,如ORACLE的PROC,INFORMIX的ESQL等编写。

一个SERVICE其实就时一个C函数,但它的参数只能是一个TPSVCINFO结构体指针。

该结构体在atmi.h中的定义:struct tpsvcinfo {#define XATMI_SERVICE_NAME_LENGTH 32char name[XATMI_SERVICE_NAME_LENGTH];/* service name invoked */long flags; /* describes service attributes */char *data; /* pointer to data */long len; /* request data length */int cd; /* reserved for future use */long appkey; /* application authentication client key */CLIENTID cltid; /* client identifier for originating client */};typedef struct tpsvcinfo TPSVCINFO;TPSVRCINFO说明:char name[XATMI_SERVICE_NAME_LENGTH]; 该SERVICE的名字long flags; CLIENT端在TPCALL,TPACALL等的FLAGS中设置的值char *data; 指向CLIENT发送过来的缓冲区的首地址long len; data缓冲区的的长度int cd; 当采用CONVERSATION通讯方式时,对应的CD值long appkey; 当采用安全认证时,该CLIENT所对应的KEYCLIENTID cltid; 用于识别该CLIENT的ID在SERVER端的程序中可以调用TUXEDO提供的ATMI编程接口。

TUXEDO教程

TUXEDO教程

TUXEDO教程
Tuxedo是一种分布式事务处理和应用程序开发环境,用于构建和部
署高性能,可靠的事务处理应用程序和服务。

Tuxedo(Transaction)基
于客户/服务器架构,这意味着请求消息的发送者是客户端,接收这些消
息的是服务器。

Tuxedo的客户/服务器架构能够将计算任务多源分布在多台服务器中,利用系统资源相结合,来满足用户执行复杂应用程序的需求。

客户/服务
器架构可以支持C/S(Client/Server)架构,主机/代理架构和事件驱动
架构。

Tuxedo中的客户端和服务器端都提供了一种服务协定,它定义了同
一应用程序中客户与服务器通信的规范。

Tuxedo服务协定提供了各种规
范的数据储存和储存格式规范,以及确定服务调用请求及响应的消息结构等。

Tuxedo支持事务处理服务(TMS),这使得应用程序可以安全地处理
复杂的逻辑实体,而不会受到现有系统失败的影响。

Tuxedo提供了一种
分布式事务处理模型,它使应用程序能够在不同的服务器上安全地执行事务,以防止数据损坏和系统崩溃。

Tuxedo还提供了可扩展的事务处理环境,允许用户设计符合客户/服
务器模式的应用程序。

第6章TUXEDO的服务端编程

第6章TUXEDO的服务端编程

第6章TUXEDO的服务端编程
TUXEDO服务端编程指的是编写TUXEDO服务器,以响应来自TUXEDO
客户端的请求。

TUXEDO服务器程序的主要工作是接收来自TUXEDO客户端
的请求和数据,并使用CORBA或RPC来处理或响应这些请求。

TUXEDO服
务器程序的具体设计和实现也将受到TUXEDO的软件安装、配置和管理设
置的影响。

TUXEDO服务器程序主要实现的功能有:
(1)服务注册。

服务注册是指在TUXEDO服务器上注册一组服务,使
其可以处理客户端发送的请求。

主要包括服务的类型、服务名称、函数指针、参数和数量等信息。

(2)客户端消息处理。

当TUXEDO服务器接收到客户端发送的请求时,服务器将调用与请求服务对应的函数,并将客户端发送的消息和数据作为
参数传递。

服务器程序需要处理客户端发送的消息、数据和参数,生成响
应消息,并将其回传给客户端。

(3)消息队列处理。

TUXEDO服务器程序需要监听系统的消息队列,
当客户端发送消息到消息队列时,服务器程序将检索相应的消息,并作出
相应的处理。

(4)数据库操作。

TUXEDO服务器程序也可以操作后台数据库来处理
客户端请求,比如客户端请求查询一些表中的数据,服务器程序将读取数
据库并返回查询结果给客户端。

(5)日志管理。

tuxedo基本命令

tuxedo基本命令

一、Tuxedo基本命令#1.设置环境变量TUXDIR,APPDIR,TUXCONFIG,LANG(跟OS相关),LD_LIBRARY_PA TH(跟OS相关)#2.编译ubb文本生成二进制配置文件:tmloadcf –y ubbconfig#3.所有机器上运行tlisten,具体见文档中NETWORK一节#4.启动tmboot –y#5.关闭tmshutdown –y参数:-A在所有机器上启动/关闭管理的Server进程-M 只在MASTER机器上启动/关闭管理的Server进程-i srvid 启动/关闭某个server id指定的Server进程-g grpname 启动/关闭某个server group名字指定的Server Group-S 启动/关闭所有应用服务器(LMID)-s server-name 启动/关闭某个server名字指定的Server进程-l lmid option 在指定的机器上启动/关闭所有TMS进程和应用服务器(LMID)-T grpname 启动/关闭指定的server group中所有的TMS进程-B lmid 在指定的机器上启动/关闭BBL进程-e command 指定一个程序可以当在MASTER机器上启动任何一个进程失败时执行-c 计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源#用tmunloadcf > generated.ubb 可以得出目前配置得UBB文件所有得参数值(没有设置的有缺省值)#用tmloadcf –c或tmboot –c可以计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC 资源。

二、UBB文件配置说明UBB配置文件分成*RESOURCES,*GROUP,*SERVER,*SERVICE,*NETWORK等若干节。

DEFAULT表示该节中所有对象共有的缺省属性。

*RESOURCES#RESOUCES节提供整个系统的基本参数。

tuxedo教程

tuxedo教程

第一章、三层应用模型1. 应用服务器模型1.1、三种Client/Server模型通常,一个关键性商业应用可划分为三个逻辑部件:1、表示部件:完成输入、显示等设备的控制及数据合法性检查等。

2、应用部件:实现关键性的商业逻辑、策略和过程等,实现商业功能。

3、数据存取部件:完成数据的增加、删除、更改和查询等。

一般来说,Client/Server技术都使用这三个部件,但是如何分布这些部件有多种选择方案。

不同的方案决定了不同的Client/Server结构,也决定了不同的应用构造方法和控制的灵活程度及银行业务系统中最关键的性能/效率问题。

常见的三种分布模型是:远程数据存储模型、数据库服务器模型和应用服务器模型。

1、远程数据存取模型(Remote Data Access)Server图1.3 远程数据存取模型在这一模型中,表示和应用代码的执行是在每个Client端进行的。

Client平台上处理表示的数据,管理键盘和设备输入输出。

作为应用部件,它还执行商业逻辑。

系统数据通过SQL语句被查询和修改。

SQL语句通过网络传送到远程后台上的数据库服务器。

2、数据库服务器模型图1.4 数据库服务器模型在这一模型中,Client的处理被限制在表示部件的功能:显示、键盘设备控制、数据合法性检查。

应用部件以数据库存储过程的形式定义、管理和执行。

数据库也是主要的数据存取部件。

3、应用服务器模型(APserver)Client Server在这一模型中,Client处理表示数据,管理键盘和设备输入输出,应用逻辑被远程的一组指明的应用服务器所定义、处理。

这些应用服务器包含着应用部件,提供到相同或不同应用服务器中的其它应用程序到程序的调用。

应用部件通常通过标注SQL语句提供对数据库的存取服务。

应用也可以存取诸如索引文件和队列等其它资源。

应用服务器的集群是由一个主动的应用管理环境-TP monitor(交易中间件)来支持的。

应用服务器与数据库服务器可以在同一物理平台上,也可以在不同物理平台上。

中间件操作指引-Tuxedo

中间件操作指引-Tuxedo

中间件操作指引Bea Tuxedo广东亿迅科技有限公司2008年7月项目名称/代码:集成部版本: 1.0状态:所有人:系统组作者/创建时间:唐彪批准人/批准时间:文档更改历史记录目录第1章BEA TUXEDO产品 (5)1.1T UXEDO是什么 (5)1.2T UXEDO系统特点 (5)第2章TUXEDO安装 (6)2.1在UNIX系统安装 (6)2.2在WINDOWS系统安装 (7)2.3安装LICENSE (7)2.4T UXEDO环境变量 (7)2.5T UXEDO目录结构 (8)2.6T UXEDO应用步署过程 (8)第3章配臵管理 (8)3.1配臵文件 (8)3.2资源定义 (9)3.3机器的信息 (10)3.4组定义 (11)3.5服务定义 (11)3.6交易定义 (12)3.7生成TUXCONFIG文件 (13)第4章管理命令 (13)4.1TMBOOT命令 (13)4.2TMSHUTDOWN命令 (14)4.3TMADMIN命令 (14)4.3.1查看services状态 (15)4.3.2查看server状态 (16)4.3.3查看队列状态 (16)4.3.4查看客户端状态 (17)4.4查看日志 (18)第5章常见故障 (18)5.1UBB编译类 (18)5.2服务启动类 (19)5.3服务关闭类 (20)5.4域间通信类 (20)第1章Bea Tuxedo产品1.1 Tuxedo是什么BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。

它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。

开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。

BEA TUXEDO是企业、Internet 分布式应用中的基础主干平台。

它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式。

Tuxedo 功能说明书

Tuxedo 功能说明书

Tuxedo功能说明书说明:本说明书是为了适应光大银行的要求,为光大银行提供有关Tuxedo 功能的简要说明列表。

一、交易处理服务1.交易完整性保证机制●当应用系统只有局部事务、没有全局事务时,Tuxedo直接利用数据库的事务处理功能(用或不用XA),这样可提高系统性能。

●当应用系统涉及跨多个资源数据库(同构或异构)的全局事务的时,Tuxedo利用XA标准和两阶段提交协议,通过事务管理器,协调各个数据库的同步。

Tuxedo还可保证可靠性队列/Q 的入出队操作和数据库的更新操作的同步。

在各种情况下,Tuxedo能够确保异构的(或者同构的)数据库以及它资源管理器之间的完整性和一致,并且还在出现节点故障、网络故障或全局资源死锁时利用内部的交易日志来协调全局事务的恢复。

2.交易优先级请求优先级是Tuxedo的事务管理器提供的另一个核心能力。

当某一服务有比其他服务更高的优先级时,服务器在处理请求时,就不再单纯的按照请求在队列中的先后顺序处理,而是按优先级来定。

请求优先级越高的越早被处理。

为了防止低优先级请求总是得不到服务,服务器每隔十个请求,就按FIFO次序进行一次请求选择。

二、可管理性TUXEDO的三层逻辑结构提供了对应用程序高度的可管理性。

它以业务逻辑层为管理的主要对象,把基本业务组件即服务进程的服务做为管理的基本单位。

应用系统由一些基本的组件即服务构成,这样它的易理解、易修改、易扩充等需求都得到保证。

TUXEDO提供一个基于普通WEB浏览器的GUI管理工具,也可根据用户需要提供基于X Window/ Motif 的GUI管理工具;还提供综合性的字符型管理命令;并且提供一个管理信息库(MIB)和编程接口,使用户可根据特定需求编写自己的管理工具。

TUXEDO 的关联产品BEA MANAGER 通过网络管理协议SNMP和TUXEDO的管理信息库MIB可以把TUXEDO对应用程序的管理集成到一般的网络、数据库系统管理工具中,比如OpenView, NetView 等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TUXEDO的维护管理1
• Tmadmin工具 • psr命令查看当前的服务的状态
RqDone:该SERVER当前已接受的请求数 Load Done: RqDone*负载因子(负载因子的默认值为50) RqDone* ( 50 Current Service:当前在处理CLIENT端请求的SERVICE,如果都没有为IDLE
每台服务器可以定义一个逻辑服务名
• • • •
TUXCONFIG、 TUXDIR、 APPDIR ENVFILE TYPE(多服务器部署时使用,编解码) ULOGPFX(ULOG前缀)
TUXEDO配置4
• 理解GROUP
1)因为GROUP与数据库之间是一对一的关系,在一TUXEDO应用系统 中,如果有多个数据库,就要配置多个GROUP,在该GROUP中配置TUXEDO 与数据库的连接参数 2)数据依赖路由是以GROUP为单位 3)进行系统迁移时也时以GROUP为单位的一个GROUP有一个名字,还 有一个GROUP ID,GROUP的名字和GROUP ID在一个TUXEDO系统中必须 唯一
Tuxedo的缓冲区
Tuxedo及其编程
陈松平
中间件技术
• 两层结构和三层结构 • 与操作系统,数据库并列的3大基础软件 • 中间件是一种独立的系统软件或服务程序,分 布式应用软件借助这种软件在不同的技术之间 共享资源,中间件位于客户机服务器的操作系 统之上,管理计算资源和网络通信。 • 中间件屏蔽了底层操作系统的复杂性,使程序 开发人员面对一个简单而统一的开发环境,减 少程序设计的复杂性,将注意力集中在自己的 业务上,不必再为程序在不同系统软件上的移 植而重复工作,从而大大减少了技术上的负担。
• 理解超时(对定位问题有帮助)
当前我们系统的超时主要是同步超时,主要包括下面几个方面:客户 端调用TPCALL、通过网络将客户端请求发送到服务端、服务端处理请 求、通过网络将服务端将结果发送到客户端
TUXEDO的配置3
• LDBAL
要不要进行负载均衡
• MAXCONV
在一台服务器上的最大会话数
• LMID
• 启动服务端
tmboot -y
• 关闭服务端
tmshudown –y
• 操作演示
Tuxedo基本术语
• 应用服务系统、SERVER、SERVICE、 MACHINE、GROUP • 一个TUXEDO系统可以跨越多台服务器,一 台服务器上可以有多个GROUP,但一个 GROUP只能在一台服务器上,一个GROUP 中可以有多个SERVER,一个SERVER中可以 有多个SERVICE
TUXEDO的配置1
• IPCKEY
TUXEDO使用它标识公告板及其他的IPC资源
• MASTER
指定该TUXEDO应用系统的MASTER服务器,在该服务器上对整个TUXEDO系统进行管理配 置,可以为该MASTER服务器指定一台备份服务器,当该MASTER服务器当机时,可从BACKUP 服务器上进行管理。
TUXEDO的维护管理2
• psc:显示该系统所有的SERVICE的信息
• pq:显示该系统的队列情况
• pclt:当前连接到该TUXEDO应用系统的客户 端的状态
TUXEDO的维护管理3
• suspend:可以把某个GROUP,SERVER的SERVICE或 某个SERVICE挂起 • resume: 可以把已挂起的某GROUP,SERVER的 SERVICE或某个SERVICE重新投入可用 • adv: 可以发布某个SERVICE • unadv: 取消某个SERVICE的发布 • changeload:可以修改某个SERVICE的负载因子 • changepriority 可以修改某个SERVICE的优先级.
• DOMAINID
唯一标识tuxedo的应用系统
• UID/GID/PERM • MAXACCESSERS
在本系统的一个节点(一台服务器)上,同时可以有多少个进程可以访问该TUXEDO系统的 公告板,默认值为50,它包括本地客户端进程,SERVER进程,但不包括管理进程如:BBL,DBBL 等
• MAXSERVERS • MAXSERVICES
中间件的分类
• 消息中间件(MOM) 消息中间件( )
tuxedo、MSMQ、tonglink/q等等
• 交易中间件(TP) 交易中间件( )
tuxedo、CICS等等
• 对象中间件 • 应用服务器
JBOSS、WEBLogic
• 企业级应用集成 • 安全中间件
Tuxedo的发展历史
• Tuxedo是第一个严格意义上的中间件产品 • Tuxedo是在1984年,由当时属于AT&T的贝 尔实验室开发完成 • 1992年易主Novell公司,1996年由BEA公司 收购 • Tuxedo已经发展成为交易中间件领域事实上 的标准
• GROUP的配置:LMID、GROUPID、 OPENINFO
TUXEDO配置5
• SRVGRP: 该SERVER所在的GROUP • SRVID: 该SERVER所对应的ID,在一个GROUP 中必须唯一 • MIN: 该SERVER最少启动的进程数 • MAX: 该SERVER最多可启动的进程数 • 关键配置,进程自动重启
Tuxedo的系统结构
• • • • 事务管理器 可靠队列服务 域 域网关
Tuxedo的简单使用
• 服务端配置编译
tmloadcf -y ubb 【生成二进制的tuxconfig文件】

• 客户端编译
buildclient -o simpcl.exe -f simpcl.c
• 服务端编译
buildserver -o simpserv.exe -f simpserv.c -s TOUPPER
RESTART 该进程死掉时是否可以自动重起,默认为N(不可以) GRACE,MAXGEN:在GRACE秒内,该进程最多可以重启MAXGEN次 RCMD:指定该SERVER重启时,要执行的一个可执行文件名
TUXEDO配置6
• 在缺省情况下,TUXEDEO的每一个SERVER对应一个请求队列,该 SERVER从该请求队列中取客户端发来的请求,并把处理的结果通 过该请求队列返回给客户端,TUXEDO的SERVER可以配置成多个 SERVER对应一个请求队列,即MSSQ方式,以提高响应的速度 • RQADDR:该请求队列的名字,一般设成与该SERVER的名字一样 • RAPERM:该请求队列的存取权限,默认为0666 • REPLYQ:该SERVER中的某个SERVICE调用其他的SERVICE,并有返回 结果,则应设置REPLYQ=Y,即把其他SERVICE的应答放到该队列中 • CLOPT: 指定该SERVER的启动参数。默认为-A,即再该SERVER启动时, 发布该SERVER包含的所有的SERVICE。通用的有: -r: 记录该SERVER中SERVICE每次调用的处理时间,并记录在错误输出文 件中,然后可采用TUXEDO的性能分析工具txrpt对该SERVER进行性能分 析
TUXEDO的配置2
• TUXEDO应用系统的部署方式
MODEL:SHM(多台服务器共享一个共享内存)和MP OPTION: LAN(多机部署模式)和MIGRATE(可对系统进行迁移)
• 以下3个可用于调优的参数
SCANUNIT:BBL检查超时事务、超时连接的时间单位(默认10秒) SANTIYSCAN:BBL经过多长的时间单位检查一次(默认12,就是120秒) BLOCKTIME:一个消息可以阻塞多长时间(默认为6,就是60秒)
TUXEDO配置7
• MAXWSCLIENTS:最多可以同时有多少个客户端连 接本服务端 • WSL SRVGRP=GROUP1 SRVID=41 CLOPT="-A -t -- -n //134.224.22.76:7890 -m 2 -M 100 -x 10“ • -n //134.224.22.76:7890 : 远程客户端通过该端口与 服务器建立连接 • -m 2 :最少启动多少个WSH进程 • -M 100::最多启动多少个WSH进程,默认值为 MAXWSCLIENTS/m • -x 10:每个WSH进程可同时处理多少个远程客户端
相关文档
最新文档