汇总以前的工作,以便参考!维护查看应用系统某一时间点的并发连接数
所查看的对象包括: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
--转自