Tuxedo的使用方法汇总 - IT架构_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3791 | 回复: 0   主题: Tuxedo的使用方法汇总 - IT架构        下一篇 
wayne
注册用户
等级:中校
经验:1690
发帖:221
精华:0
注册:2011-7-21
状态:离线
发送短消息息给wayne 加好友    发送短消息息给wayne 发消息
发表于: IP:您无权察看 2014-11-4 14:34:20 | [全部帖] [楼主帖] 楼主

汇总以前的工作,以便参考!维护查看应用系统某一时间点的并发连接数

所查看的对象包括:WorkStation/Client与Native Client,命令如下:
tmadmin -r <<EOF |grep "你的LMID" |grep -v WSH|grep -v tmadmin|wc -l

pclt
quit
EOF


输出结果就是当前该应用系统的并发连接数(已过滤掉使用tmadmin命令与WSH所占用的进程数目)

估算应用系统所需要的license数目

这里只提供所必需的一些统计数据,因为,这与具体的应用有很大的关系,比如:哪些客户端采用长连接的方式,哪些客户端采用端连接的方式,系统忙时的峰值,还要根据系统用户数年增长量等因素综合考虑。
利用TUXEDO的系统性能分析工具txrpt可统计出系统内每个SERVICE在某段特定时间内所处理的请求的总数及平均处理时间,
使用方法如下:
(1) 在UBBCONFIG中SERVER节做如下设置:即在CLOPT中加 -r。

*SERVERS
DEFAULT:
CLOPT="-A -r"


或clopt = "-A -e /log/mylog -r -- -n //10.11.11.11:9999"
说明:如果在DEFAULT的CLOPT中加-r参数是对所有的SERVICE调用都进行统计,
如果只在某个SERVER的CLOPT中加-r参数是对该SERVER中的所有的SERVICE调用都进行统计。
重编译UBBCONFIG后,并重启动TUXEDO后,以后对SERVICE的调用统计信息会自动写到标准错误输出文件中,默认为stderr.

(2) 一段时间后,可用txrpt进行性能分析,txrpt的命令格式如下:

txrpt [-t] [-n names] [-d mm/dd] [-s time] [-e time]


参数说明:
-t 对输出进行排序,总计处理请求所花的时间越多的排的越靠前。如果不指定,按总计被调用的次数越多的排的越靠前。
-n names 只输出指定名称的SERVICE的统计信息,如果有多个,可用逗号隔开。
-d mm/dd 限定日期,统计指定日期的信息。 缺省为当前日期。
-s time 指定统计开始时间:格式为:hr[:min[:sec]]。
-e time 指定统计结束时间:格式为:hr[:min[:sec]]。
例子:

txrpt -nTOUPPER -d11/05 -s11:03 -e14:28 <stderr
the report produced looks like the following。
START AFTER: Thu Oct 05 11:01:00 2001
END BEFORE: Thu Oct 05 14:18:00 2001
SERVICE SUMMARY REPORT
SVCNAME 11a-12n 13p-14p 14p-15p TOTALS
Num/Avg Num/Avg Num/Avg Num/Avg
------ -------- -------- -------- -------
TOUPPER 2/0.25 3/0.25 1/0.96 6/0.37
------- ------- ------- ------- -------
TOTALS 2/0.25 3/0.25 1/0.96 6/0.37


上面的例子说明:在11月5号的11:03到14:28这段时间内,TOUPPER被调用了6次,平均每次的处理时间是0.37秒。
然后根据具体的应用指标(上面说过),制定具体的算法,以估算应用系统的License数目。此法也适用于配置MSSQ方式的应用,对于低水位与高水位参数的设置,起着非常重要的作用,这里不再赘述。

Tuxedo XA on RAC
Oracle RAC does not allow the same database to be accessed from multiple RAC instances within the same XA transaction.


Oracle RAC,在一个XA事务中,不允许从不同的实例访问同一个数据库。

To avoid these conditions all related work from the same ‘business’ transaction in an XA environment must be directed to a single RAC instance.
Tuxedo supports Oracle RAC in Tuxedo 8.1 Rolling Patch 233 and above, as well as in the Tuxedo 9.0 rolling patch stream and in the forthcoming Tuxedo 9.1. The Tuxedo changes for RAC support have not been made in Tuxedo 8.0. Oracle has added new RAC capabilities in each Oracle release, and Tuxedo supports RAC with Oracle 10.1.0.3 and above. (Oracle 10.1.0.3 was the first release to support a Fast Application Notification feature that is used on RAC failover.)


Tuxedo中如何避免Server可能存在的内存泄漏?

由于Tpreturn使用了longjump方式实现,所以在tpreturn前必须保证对象被析构。
如下例:

extern "C" void MWSVC(TPSVCINFO *rqst)
{
      //string begintime,endtime;   //错误的定义方式
      FBFR * fb = NULL;
      try
      {
            string begintime,endtime; //正确的定义方式,保证对象在try中被析构
            …….
      }
      catch(...)
      {
            userlog("service execute exception ...");
            tpreturn(TPFAIL, 0,(char *)fb, 0L, 0);
      }
      tpreturn(TPSUCCESS, 0,(char *)fb, 0L, 0);
}


Server配置问题

一个配置60个并发Server,和配置4份15个并发的Server,为什么后者的性能会好于前者?后者使用了4个请求队列,在消息的容量上要好于前者。如果出现上述情况,说明消息队列可能是存在的一个瓶颈 

客户端不能连接
为什么客户端不能联接Tuxedo?
Tuxedo没有任何服务调用,pclt显示没有活动的client?后来ULOG出现:WSNAT_CAT:1174: WARN: Disconnecting listener connection to workstation, connection timed out 此错误和因为客户端和Tuxedo无法建立连接,Tuxedo的WSL检查句柄表(Handler table)发现满了,且没有超时的,一直等到超时。目前处理的方法就是重启WSL,这个错误可能和网络有关,暂时没有确切的答案,注意通过netstat -an 观察tcp链接是否establish 。

FML Buffer


在Fml Buffer中的记录数大于500行左右时,再插入,会导致性能下降 建议采用Fconcat将多个Buffer合并。

编译
在UNIX上,带上“-g”选项编译程序

– buildserver –f “-g” –f simpserv.c –o simpserv –s TOUPPER


– 最终调用CC

– 可以设置CFLAGS变量

编译时设置“-k”选项,保留Tuxedo应用服务的

main()函数

– buildserver –k –f “-g” –f simpserv.c –o simpserv –s TOUPPER


使用Shell帮助收集Tuxedo信息

可以使用下列 Shell 脚本来协助进行数据收集:

pq.sh t [n]   (将按 n 个 t 秒的间隔输出结果)。
#!/usr/bin/sh
if test -z "$1"
then
sleep_time=0
else
sleep_time=$1
fi
if test -z "$2"then     loopnum=1 else     loopnum=$2 fi num=0 while [ $num -lt $loopnum ] do     num=`echo "$num + 1" | bc`     echo pq | tmadmin 2>/dev/null     sleep $sleep_time done


常用命令修改UBB文件步骤

修改UBB文件

tmshutdown所有服务

tmloadcf ubb-file


tmboot所有服务
生成TLOG

UBB文件中TLOGDEVICE="/gboss/tuxapp/etc/tlog"

用以下命令生成TLOG

--转自 北京联动北方科技有限公司




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