tuxedo的整理资料

编译与开发:

编译服务器
   -----------------------------
   TUXEDO提供了buildserver命令来编译服务器进程。(事实上buildserver只完成预编译,它会调用当前操作系统中已经安装的默认C编译器来完成进一步的编译
   和连接,最终生成可执行代码。)
  
   buildserver[-s {@filename|service[,service...]:[:func]|:func}][-v][-o outfile]
               [-f firstfiles][-l lastfiles][{-r|-g}rmname][-k][-t]

       ** -v   表示打开VERBOSE模式,即编译过程中打印更多的信息。

       ** -t   表示支持多线程。如果要使服务器支持多线程,则必须加上这个选项。
  
       ** -k   表示保留中间生成的带有main()函数的源程序文件,这个文件通常以"BS-"开头。如果不加-k,生成可执行代码后,这个中间文件会被自动删除。

       ** -o   outfile   指定生成的可执行文件名。

       ** -f   firstfiles 指定要优先于TUXEDO系统库之前连接的文件名。则文件名之间应以空格分隔,并用引号把整个串引起来(如-f "f1.c f2.c f3.c"),
            也可以对每个文件使用一个-f选项 (如:-f f1.c -f f2.c -f f3.c)。

       ** -l   lastfiles 指定要在TUXEDO系统库之后连接的文件名,用法同-f.

       ** -r   rmname 指定一个RM文件中定义的入口名,buildserver指示编译程序静态连接与rmname相关的库文件。


       ** -s   定义服务与函数的映射关系。通常情况下,一个服务与一个同名的函数一一对应。比如,simpserv中的TOUPPER服务就对应于TOUPPER函数。
            如果一个服务器实现了多个服(如X、Y和Z),则在编译时,既可以用一个-s来指定(如 -s X,Y,Z),也可以用多个-s来指定(如 -s X -s Y -s Z)。
            事实上,一个函数也可以实现多个服务,服务函数可以根据接收参数TPSVCINFO中的name字段来判断定户机调用了哪一个服务,然后再执行相应
            的业务逻辑。比如,函数ALL实现了X,Y和Z的业务逻辑,则在编译时,-s选项应该指定为-s X,Y,Z:ALL,逗号前后不能有空格。在某些情色况下,
            只有在运行时才知道服务,而在编译时服务名是未知的,在编译这样的服务器时,应该在函数名前面加一个冒号(如 -s:TOUPPER),在运行时,管
            理可以使用tmadmin子命令来公告服务(如 adv -g GROUP1 -i l TOUPPER:TOUPPER,冒号前面是服务名,后面是函数名)。

         如:
         buildserver -o simpserv -f simpserv.c -s TOUPPER
         
   补充:
   另如:
   使用TUXEDO的别名功能,使交易以不同名字发布,如:
   buildserver –f read.c –o read –s READ70,READ80,READ90:READ


编译客户端
    -------------------------------------
   TUXEDO提供了buildclient命令来编译C语言客户机进程。
  
       buildclient 命令的使用方法如下:
      buildclient [-v][{-r rmname |-w}][-o name][-f firstfiles] [-l lastfiles]
         
          ** -v 打开VERBOSE模式,即编译过程中打印更多的信息。


          ** -r rmname 与 buildserver的同名选项功能一致,即用于指定与客户程序相关的资源管理器。rmname是RM文件的一个入口,若客户程序与任何RM
                   都没有关系,可不指定这个选项。-r不能与-w一起使用,也就是说,-r只适用于本地客户机,因为远程客户机上没有RM文件。


          ** -w     指示编译器连接工作站库,而不是本地库。连接了工作站库的客户机可以通过TCP/IP访问远程TUXEDO服务器,而连接了本地库的客户机只能
                  通过共享内存连接本地TUXEDO服务器。

          ** -o     name 指定生成的目标文件名。如果不指定,在UNIX会下生成a.out。


          ** -f     firstfile 指定要优先于TUXEDO系统库之前连接的文件名。如果有多个文件,则文件名之间应以空格分隔,并用引号把整个串引起来(如 -f
                  "f1.c f2.c f3.c"),也可以对每个文件使用一个-f选项(如 -f f1.c -f f2.c -f f3.c)
          ** -l     lastfiles 指定要在TUXEDO系统库之后连接的文件名。

   如:buildclient -o simpcl -f simpcl.c

   编译加载配置文件
    ---------------------------------------------
    ASCII形式的配置文件不能直接被TUXEDO系统识别,需要使用tmloadcf命令把它转换成二进制形式才。
  
    tmloadcf命令格式如下:
   
   tmloadcf[-n][-y][-c][-b blocks][UBBCONFIG_file]

   ** -n 只对配置文件做语法检查,不做转换。


   ** -y 在确认是否初始公或覆盖二进制配置文件时,响应YES.

   ** -c 打印在当前配置下,所需要的最小的IPC资源数量。

   ** -b 如果二进制配置文件还没有初始化,-b用于指定它的最大尺寸。

    在执行tmloadcf之前,要确保已经设置了TUXCONFIG环境变量,因为它指定了生成的二进制配置文件的名字和存放的位置。


 

维护与管理:

tmadmin 用来查看TUXEDO的运行情况。在tmadmin命令界面中可以使用如下命令:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

psr
为printserver命令的简写,监控服务器运行情况,查看处理的请求数目、忙闲程度。

参数如下:
-m machine LMID为 machine的所有服务进程
-g groupname 组名为groupname的所有服务进程
-i srvid SRVID为srvid的服务进程
-q qaddress 消息队列为qaddress的所有SERVERS查看server的信息

> psr -i 15058
Prog Name Queue Name Grp Name ID RqDone Load Done Current Service
——— ———- ——– — —— ——— —————
RK016 00060.15058 CHGGRP_+ 15058 0 0 ( IDLE )

-i srvid SRVID为srvid的服务进程
#接续日志记录
RK016 SRVGRP=CHGGRP_SXBOSS SRVID=15058 CONV=N MIN=1 MAX=1
CLOPT=”-A -r -t -o /boss18/run/log/RK016.log”

结果说明:
列号 描述
1. 服务的可执行文件名
2. 服务连接的队列名
3. 组名
4. 服务的数字id
5. 服务已经处理的请求数(该SERVER的所有service的负载因子总和)
6. 服务处理的全部请求的参数和,如果当前没有service被调用,则为IDLE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

psc
为printservice的简写,查看TUXEDO各服务的运行情况和处理的交易数。
psc [-m machine] [-g groupname] [-I srvid] [-q qaddress][-s service] [-a {0|1|2}]
-s service 显示名为sevice的service信息
-a {0|1|2} 显示系统的隐含的service
其他参数与psr命令相同

(2) 结果示例:
> psc -s sK005insert
Service Name Routine Name Prog Name Grp Name ID Machine # Done Status
———— ———— ——— ——– — ——- —— ——
sK005insert sK005insert RK005 CHGGR+ 15046 SXBOSS 33 AVAIL

(3) 结果说明:
列号 描述
1. Service Name :服务名
2. Routine Name :函数名(采用TUXEDO服务的别名机制,一个函数可以对应多个服务名)
3. Prog Name :service 所在的SERVER名
4. Grp Name :组名
5. ID :server的ID号
6. Machine :server所在的LMID
7. # Done :service被调用的次数
8. Status :service的状态。AVAIL表示可用


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pq
查看队列信息
(1) 命令: printqueue 简写:pq [PADRESS]
(2) 结果示例:
pq 00004.05062
Prog Name Queue Name # Serve Wk Queued # Queued Ave. Len Machine
——— ———— —— ——— ——– ——– ——-
CCS_GEDAIPC_50 00004.05062 1 0 0 0.0 simple
(3) 结果说明:
列号 描述
1. Prog Name :队列连接的服务的可执行文件名
2. Queue Name :字符队列名,是RQADDR参数或一个随机值
3. #Serve :连接的服务数
4. Wk Queued :当前队列的所有请求的参数和
5. #Queued :实际请求数
6. Ave.Len :平均队列长度
7. Machine :队列所在机器的LMID


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pclt
4查看客户端信息pclt
(1) 命令: printclient 简写:pclt
-m machine 显示LMID号为machine上的客户端连接
-u username 显示用户名为username 的客户端连接
-c ctlname 显示用户进程为ctlname的客户端连接
(2) 结果示例:
LMID User Name Client Name Time Status Bgn/Cmmt/Abrt
———- ————— ————— ——– ——- ————-
simple ccsmis WSH 17:42:47 IDLE 0/0/0
simple ccsmis tmadmin 0:44:28 IDLE 0/0/0
(3) 结果说明:
列号 描述
1. 已经登录的客户端机器的LMID
2. 用户名,由tpinit()提供的
3. 客户端名,由tpinit()提供的
4. 客户端连接后经过的时间
5. 客户端状态
6. IDLE——表示客户端目前没有任何交易在工作
7. IDLET——表示客户端启动了一个交易
8. BUSY——表示客户端在工作中
9. BUSYT——表示客户端正在交易控制下工作
10. 启动/提交/中断的交易数


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

bbs
5查看部分统计信息bbs
(4) 命令: bbstats 简写:bbs
> bbs
Current Bulletin Board Status:
Current number of servers: 335
Current number of services: 2324
Current number of request queues: 27
Current number of server groups: 11
Current number of interfaces: 0


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

default
6观察某个节点的进程信息default
(5) 命令:default –m
> default -m SITE13

SITE13> psr
Prog Name Queue Name Grp Name ID RqDone Load Done Current Service
——— ———- ——– — —— ——— —————
BBL 30004.00000 SITE13 0 22827 1141350 ..ADJUNCTBB
BRIDGE 836437 SITE13 1 0 0 ( IDLE )
GWADM 00021.00019 BGWGRP1+ 19 0 0 ( IDLE )
GWTDOMAIN 00021.00020 BGWGRP1+ 20 123826 0
GWADM 00022.00021 BGWGRP2+ 21 0 0 ( IDLE )
GWTDOMAIN 00022.00022 BGWGRP2+ 22 0 0 ( IDLE )
GWADM 00025.00027 GWGRP1_+ 27 4 200 ( IDLE )


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pnw
7查看消息发送状态pnw
(6) 命令:printnetwork 简写 pnw
> pnw SITE12

SITE12 Connected To: msgs sent msgs received
SITE14 61904 62319
SITE13 61890 62288
SITE11 15972 13564


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

8退出管理模式q
命令: quit 简写:q

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值