TUXEDO超时控制全功略(一) - [Tuxedo]

【Tuxedo】Tuxedo入门 一、Tuxedo是什么Tuxedo:Transaction for Unix has been Extended for Distributed Operation分布式操作扩展之后的Unix事务系统。Tuxedo是一个客户机/服务器的中间件产品,它在客户机和服务器之间进行调节,以保证正确的处理事务,用C语言开发的,有很高的性能。广泛应用于电信、金融等领域。TUXEDO是在Internet 这样的分 阅读详情

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://kimva.blogbus.com/logs/10795776.html

摘要:
  本《功略》集中了TUXEDO应用中,可能涉及到的所有时间参数,并分别对其进行详细描述,不但对其出处、取值等基本属性进行查证,而且,通过分析其内在的控制机制,给出设置建议,以期能够达到透彻理解、方便查阅、准确使用的目的。

1 前言
  金融、电信等众多行业的综合营业系统中,广泛使用了TUXEDO交易中间件,用来处理大量并发的联机事务处理(OLTP)业务。典型的OLTP业务,每笔业务的信息量较小,而且,具有一定的实时性,对时间的要求非常严格。

  TUXEDO,联系着DATABASE和客户端软件,凭借其多层次的超时控制机制,达到客户端快速响应,服务器端稳定可靠的效果。

  TUXEDO的多层次的超时控制机制中,涉及到的时间参数不少于10个,再加上与之紧密联系的DATABASE中的几个超时参数,确实比较复杂。遗憾的是,目前还没有的专门的文档对它们进行详细说明,而是分散在不同的专题中分别说明,而且,不同的专题中,解释的详细程度也不一样,在查阅过程中,多有不便。

  本文试图将这些参数集中起来,对每一个都加以详细说明,并试图解释每个参数存在的原因。大部分参数时间长短的设置,除个别外,基本没有固定的模式,只要了解它们的具体含义,并结合具体应用系统的实际要求,相信大家都能够作出合理的配置。

2 全功略解读
2.1 SCANUNIT
2.1.1 参数出处
  UBBCONFIG配置文件 -> RESOURCES -> SCANUNIT 。

2.1.2 时间单位
  秒,且必须为5的倍数。

2.1.3 取值范围
  大于0小于等于60中5的倍数,即{5,10,15,20,25,30,35,40,45,50,55,60}。

2.1.4 默认取值
  10 。

2.1.5 用途解释 ⑴
  这个参数大家都会用,比较好理解,TUXEDO中,BBL是用来对Bulletin Board进行管理和监控的系统进程,它基于时间片的轮询方式,时间片的大小就是SCANUNIT的值,SCANUNIT是Tuxedo对系统进行管理的最基本时间单位。每隔SCANUNIT,BBL对Bulletin Board进行一次检查,看看有没有超时的事务或阻塞的服务请求。后面讲到的很多时间参数都是以SCANUNIT为单位。

2.1.6 超时后果
  仅仅是个轮询时间单位而已,到时间就轮询,如此而已。

2.1.7 设置考虑
  作为一个涉及到整个TUXDO系统的基本单位时间,如果业务需要,对时间参数控制比较严格,设置为5也不算小。如果系统业务对时间要求不严格,那就大点儿,60也没什么不可以;毕竟频繁轮询是要耗费更多系统资源的,而任何对资源的不必要的消耗都是浪费。

2.2 SANITYSCAN
2.2.1 参数出处
  UBBCONFIG配置文件 -> RESOURCES -> SANITYSCAN 。

2.2.2 时间单位
  SCANUNIT 。

2.2.3 取值范围
  1 ~32767 。

2.2.4 默认取值
  大约120/SCANUNIT。

2.2.5 用途解释 ⑵
  进行系统健全性检查,主要包括Server进程状态和Bulletin Board数据结构,检查Server进程是否存活,如果已经不存在,会清理Bulletin Board中相应的数据项及IPC资源,并根据参数配置决定是否重新启动,如果设了RESTART=Y,所占的Message Queue不会被清除,Queue中的Request得到保留,仍会被处理。如果是MP模式,BBL还会给DBBL发状态消息。

2.2.6 超时后果
  仅仅是个系统健康检查的间隔时间而已,到时间就检查,如此而已。

2.2.7 设置考虑
  作为一个涉及到整个TUXDO系统健康检查的间隔时间,如果系统处在一个稳定的运行环境中,网络、数据库、应用都很稳定,那这个参数可以大一些;如果运行环境不稳定,系统繁忙,而且Server进程经常因异常(如超时)而死掉,那就设置小一些。设置的原则和SCANUNIT一样:不要随意浪费系统资源。

2.3 BBLQUERY
2.3.1 参数出处
  UBBCONFIG配置文件 -> RESOURCES -> BBLQUERY。

2.3.2 时间单位
  SCANUNIT

2.3.3 取值范围 ⑶
  BBLQUERY必须大于等于SANITYSCAN,tmloadcf 时会强制检查,如果设的值小于SANITYSCAN,tmloadcf会自动调整为SANITYSCAN。

2.3.4 默认取值
  大约300/SCANUNIT。

2.3.5 用途解释 ⑷
  BBL检查,在MP模式下,BBL会每隔一段时间都发送了" I am ok "心跳信息给DBBL,这个间隔就是BBLQUERY。

2.3.6 超时后果 ⑸
  如果DBBL在规定时间间隔内没有收到某个BBL的信息,DBBL它会主动发送Request给那个BBL,判断其是否正常。(如果等了DBBLWAIT后仍然没有回复,DBBL会认为那台机器有问题,然后,将其隔离。)

2.3.7 设置考虑
  此设置仅仅在MP模式下才起作用。

  在MP模式下,如果TUXEDO系统需要对不稳定的运行环境可能发生的故障作出快速的反应,那么BBLQUERY要设置小一些,让系统快速的自我检查。考虑网络传输时间、系统反应速度等因素,网络速度越慢,系统负载越重,取值越大;反之亦然。

  如果系统运行环境很稳定,利用其默认值即可,甚至可以更大数值。

2.4 DBBLWAIT
2.4.1 参数出处
  UBBCONFIG配置文件 -> RESOURCES -> DBBLWAIT。

2.4.2 时间单位
  SCANUNIT。

2.4.3 取值范围
  大于0。

2.4.4 默认取值
  1和20/SCANUNIT中的较大者 。

2.4.5 用途解释 ⑹
  如果DBBL在规定时间间隔BBLQUERY内没有收到某个BBL的"I AM OK"信息,它会发Request给那个BBL,其等待回复的时间就是DBBLWAIT。

2.4.6 超时后果 ⑺
  DBBL等了DBBLWAIT后仍然没有回复,DBBL会认为相关BBL的机器有问题,然后,将其隔离(partation)。

2.4.7 设置考虑
  此设置仅仅在MP模式下才起作用。

  在MP模式下,考虑网络传输时间、系统反应速度等因素,网络速率越大,系统负载越轻,此数值越小;反之亦然。

2.5 BLOCKTIME
2.5.1 参数出处
  UBBCONFIG配置文件 -> RESOURCES -> BLOCKTIME。

2.5.2 时间单位
  SCANUNIT。

2.5.3 取值范围
  大于0。

2.5.4 默认取值
  大约60/SCANUNIT。

2.5.5 用途解释
  Client端阻塞请求(Blocking call)服务的超时值,BBL发现有超时的Request时,会给相应的Client端发超时信息。

  此参数仅仅在"阻塞请求"的情况下起作用,因此,理解它,关键要理解什么是阻塞请求(Blocking call)?习惯上,我们将"阻塞请求"理解为"同步请求",将"异步请求"理解为"非阻塞请求",是源于将"<发送请求-得到结果>"这一过程看成为一个整体。如果是整体的同步操作,就认为是"阻塞请求";如果是分开异步的操作,就认为是"非阻塞请求"。

  其实,异步操作中,同样存在"阻塞请求",tuxedo中,tpacall和tpgetrply这两个异步操作各自本身就是"阻塞请求",tpacall是将请求发送到请求队列,tpgetrply是将从结果队列中取出结果,如果没有特殊的设置,这两个操作本身都是阻塞的,BLOCKTIME将起作用。

  以Request/Reply方式为例,将成功发送请求的时长设置为T1,将请求处理的时长(含排队等待)设置为T2,将成功取得结果的时长设置为T3,那么在下面不同的情况下,将触发BLOCKTIME,引起超时:

  (1) tpcall()不在transaction中,flag为0,当T1+T2+T3 > BLOCKTIME时,发生超时 ;

  (2) tpcall()不在transaction中,flag为TPNOBLOCK,只有当一次调用即成功完成T1阶段发送请求的任务后,T2+T3 > BLOCKTIME时,发生超时 ;

  (3) tpacall()不在transaction中,flag为0,当T1 > BLOCKTIME时,发生超时 ;

  (4) tpgetrply()不在transaction中,flag为0,当T2+T3 > BLOCKTIME时,发生超时 ;

  (5) tpcall,tpacall,tpgetrply,在其他任何情况,BLOCKTIME都将不起作用。

  (6) 如果请求处于事务交易(transaction)中,此参数不起作用,取代它的是 TransactionTimeOut。

2.5.6 超时后果
  在上面描述的四种情况下,Server端 BBL返回Client端超时错误:tperrno = 13 (TPETIME)。同时,client端和Server端已经建立的联接不受任何影响,继续保持联接。

2.5.7 设置考虑
  此参数涉及整个TUXEDO系统,不能够直接适应业务系统中不同场合的不同时间等待要求,而且在应用过程中,存在误差,不适合进行精确到秒的时间控制。

  准确有效的使用这个参数,需要考虑好以下几个问题:

  (1) 应用中是否完全依赖这个参数进行时间控制?

  (2) 有哪些业务依赖这个参数进行时间控制?

  (3) 平衡各种业务,此参数设置为多少?

  (4) 除此参数外,是否需要利用其他的超时控制机制?

2.6 WSL CLOPT [-T Client_timeout]
2.6.1 参数出处
  UBBCONFIG配置文件 -> SERVERS -> WSL -> CLOPT "-T"。

2.6.4 默认取值
  0 ,意味着无限等待时间。

2.6.5 用途解释 ⑻
  系统允许的Client静默时长,即Client和WSH建立联接后,如果在此指定的时间内客户端没有发送任何请求,WSH会自动回收与此Client端相关的资源。

2.6.6 超时后果 ⑼
  WSH会自动释放和这个Client端的联接,并将此Client在Bulletin Board中的数据项清空,RollBack它未完成的事务 。

2.6.7 设置考虑
  此参数的设置目的,主要是从Server的角度进行考虑,防止在Client端意外失效的情况下仍然耗费Server端的资源。

  如果设置太小,那么频繁的检测同样要消耗Server端一定的资源,而且,在使用长联接的系统中,系统空闲时,容易造成已经建立的长联接频繁的释放,影响正常业务的提供。

  如果设置为0,不管发生什么状况,哪怕是Client端系统真的崩溃了,也不会触发此超时,这将造成Server端资源的无谓浪费。

  建议:在业务负载不均衡的长联接业务系统中,根据业务实际空闲时间,适当加大此数值。

2.7 WSL CLOPT [-t timeout]
2.7.1 参数出处
  UBBCONFIG配置文件 -> SERVERS -> WSL -> CLOPT "-t"。

2.7.2 时间单位
  SCANUNIT。

2.7.3 取值范围
  大于0。

2.7.4 默认取值
  非安全应用为3,安全应用为6 。

2.7.5 用途解释
  建立联接时长,指workstation Client建立与server端WSH建立联接允许的最长时间,因为非安全应用建立联接时不需要进行用户校验等步骤,因此,建立联接需要的时间较短。同理,安全应用需要的时间较长。

2.7.6 超时后果
  建立联接失败。

2.7.7 设置考虑
  设置此参数,要分析业务系统中,网络带宽因素、用户验证的复杂程度等。



Java通过Jolt调用Tuxedo服务 Java通过Jolt调用Tuxedo服务草木瓜 2006-6-1------------------------一、简介------------------------外部应用访问Tuxedo服务是很经常的事,一般有两种方法WTC和Jolt,网上很多关于Jolt调用Tuxedo服务文章,描述的太多笼统,其实通过Jolt并不是很复杂的事情,这里使用Eclipse3.1+Jolt+WebL 阅读详情

相关推荐

基于zynq在linux下的AXI-CAN实战

从petalinux的搭建,到uboot、kernel、rootfs的调试、打包提示:以下是本篇文章正文内容,下面案例可供参考本次要讲述的zynq的AXI-CAN实战小知识就说到这里了,兄弟萌要有什么指导意见或疑问可以在评论区留下"足迹"。

qq_45521099的博客 3165

Tuxedo 中关于时间的参数的说明

标题:Tuxedo 中关于时间的参数的说明 浏览次数: 770 时间:2003-02-13作者:在Tuxedo中有许多关于时间方面的参数,本文对主要的参数及之间的相互关系一一做了说明。SCANUNIT BBL系统进程对Bulletin Board的管理和监控是基于时间片的轮询

双子黎明的专栏 1259

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

zeng699304的博客 2万+

tuxedo: 集群配置要点

tuxedo诱人之处就是他的身份:中间件。而集群配置是发挥中间件作用的基础,本文简要描述一个集群框架; (一)集群概要图 下图是tuxedo集群的概要描述,很多教材都引用了这幅图: 有几点需要注意: 1、TUXCONFIG:TUXCONFIG文件只在Master主机上进行编译,其他主机(称该类主机为-从主机)不要编译,在初始时候,其他主机应该是没有该文件的,该文件是在Master发出t

懒猫会打盹的专栏 6309

妙算(manifold-2G)通过网线连接笔记本实现静态ip上网

本质就是共享笔记本wifi,配置以太网静态ip,然后在工控机上连接

slender_1031的博客 903

智能农业大棚

目 录 摘要 1.绪论 2.系统概述及单片机介绍 2.1整体方案设计思想 2.2系统组成 2.2.1主控芯片的选择 2.2.2传感器模块选择 2.2.3电机驱动模块 2.3 单片机介绍 2.3.1 AT89C51单片机的基本组成 2.3.2AT89C51主要特性 2.3.3管脚说明 2.3.4 AT89C51单片机的存储器 2.3.4.1 程序存储器 2.3.4.2 数据存储器 2.3.5 振荡电路和时钟 2.3.6 AT89C51的中断

weixin_70886450的博客 1327

Tuxedo 介绍与安装

本文目的: Tuxedo 应用是性能测试的重点研究内容,作为性能测试人员,我们必须重点了解如何使用loadrunner 测试Tuxedo 应用。 Tuxedo 是什么 Tuxedo是BEA公司(现已被Oracle公司收购)的一个客户机/服务器的“中间件”产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。它用C语言技术开发的并且有很高性能。 TUXEDO是在、Inter

虫师 1578

SOLIDWORKS Flow Simulation 颗粒分离器仿真:从流场分析到分离效率优化

计算流体力学(CFD)是研究流体流动、传热及相关物理现象的核心工具,其基本原理是通过数值方法求解控制流体运动的纳维-斯托克斯方程。在工程实践中,CFD的价值在于能够对复杂流动进行高保真度仿真,从而在产品设计阶段预测性能、优化结构,显著降低物理样机的试制成本和周期。颗粒分离器作为环保、化工、矿业等领域的关键设备,其设计核心在于平衡分离效率与压力损失。借助SOLIDWORKS内嵌的Flow Simulation模块,工程师可以高效地执行流体仿真,特别是对涉及离散相的颗粒运动进行轨迹追踪和效率统计。该技术方案通过

weixin_28709649的博客 325

Tuxedo基本命令:

1.tmloadcf编译.ubb配置文件文件,将配置文件.ubb编译成二进制配置文件。 使用命令示例:  tmloadcf -y ta.ubb 注释: -y 参数是为了替换原有的配置文件 ![](https://img-blog.youkuaiyun.com/20180828103432685?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubm...

yinlin330的博客 3499

【低空经济】低空无人驾驶航空器运行管理系统设计方案

低空无人驾驶航空器运行管理系统(以下简称“系统”)旨在为低空域内的无人驾驶航空器(UAV)提供高效、安全、智能的运行管理服务。系统通过集成先进的通信、导航、监控、数据处理和人工智能技术,实现对低空域内无人驾驶航空器的实时监控、动态调度、风险评估和应急响应,确保其在复杂空域环境中的安全运行。系统的核心功能包括空域管理、飞行计划审批、实时监控、冲突预警、应急管理和数据分析。空域管理模块负责划分和管理低空域资源,确保不同飞行任务之间的空域隔离和高效利用。

2502_92579126的博客 1140

基于DNN神经网络的多输入多输出数据回归预测(附带Matlab代码)

假设我们的输入数据包含n个特征,输出数据包含m个特征。在本文中,我们将介绍如何使用DNN(深度神经网络)实现多输入多输出数据回归预测,并提供相应的Matlab代码。需要注意的是,上述代码中的DNN模型是一个简化的示例,您可以根据实际任务的复杂程度和要求进行相应的调整和优化。综上所述,我们介绍了如何使用DNN神经网络实现多输入多输出数据回归预测,并提供了相应的Matlab代码。函数对DNN模型进行训练,其中输入数据需要转置,以适应网络的输入要求。最后,我们使用训练好的模型对测试数据进行预测,并打印预测结果。

DevWizard的博客 1068

Tuxedo基本函数的说明(API)

索引: 1.概述 2.域表文件 3.域头文件 4.mkfldhdr(32)工具 5.环境变量 6.Falloc(Falloc32) 7.Fsizeof(Fsizeof32) 8.Fneeded(Fneeded32) 9.Finit(Finit32) 10.Fadd(Fadd32) 11.Fchg(Fchg32) 12.Fget(Fget32) 13.Fcpy(Fcpy32) 14.输入/输出函数 ...

P.L.C的博客 2223

如何完全卸载axure软件以及解决安装axure后打不开的问题【2023年】

如何完全卸载axure软件以及解决安装axure后打不开的问题【2023年】

念兮为美 5139

tuxedo 超时控制

Tuxedo 超时控制(转贴)原帖发于DEV2DEV,现转贴在此。                                                                                              TUXEDO超时控制全功略摘要:  本《功略》集中了TUXEDO应用中,可能涉及到的所有时间参数,并分别对其进

兼容并蓄终宽阔,若谷虚怀鱼自游 1896

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Tuxedo 超时控制(转贴)

源于才文章确实详细,暂且转载于此,谢原发帖主人。Tuxedo 超时控制(转贴)原帖发于DEV2DEV,现转贴在此。                                                                                              TUXEDO超时控制全功略摘要:  本《功略》集中了TUXEDO应用中,可能涉及到

folin的专栏 2476

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TUXEDO超时控制全功略(zt)

背景: 解决客户以下问题: 数据库版本9206,中间件BEA tuxedu。客户反映在业务中有分布式事务的时候,查询dba_pending_transactions视图会被hang住,直到分布式事务处理完成,这样造成数...

congnen9588的博客 512

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TUXEDO超时控制全功略

背景: 解决客户以下问题:数据库版本9206,中间件BEA tuxedu。客户反映在业务中有分布式事务的时候,查询dba_pending_transactions视图会被hang住,直到分布式事务处理完成,这样造成数据库连接堵塞,影响业务的正常使用。参考以下资料: 链接:http://dev2dev.bea.com.cn/bbs/yuanch/ArticleShow.jsp

『煮面一族』的专栏 2637

Tuxedo介绍

1、Tuxedo介绍                                                                                   Tuxedo 是什么?   Tuxedo是BEA公司(现已被Oracle公司收购)的一个客户机/服务器的“中间件”产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。它用C语言技术开发的并且有很

Watson的专栏 4万+

TUXEDO超时控制全功略(二) - [Tuxedo]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://kimva.blogbus.com/logs/10795836.html 2.8 WSL CLOPT [-I init_timeout] 2.8.1 参数出处   UBBCONFIG配置文件 -> SERVERS -> WSL -> CLOPT "-I"。 2.8.2 时间单位   秒。 2.8.

1032

Linux下Tuxedo配置以及Java调用Tuxedo

因为业务需求,需要对接某部门的数据接口,但是那边提供的技术支持很少,Texudo相关资料网上很不是很完善,以下皆是个人对Java调用Texudo相关整合,不完善指出大大多多包涵! ...

Show Me The Code 2978

Tuxedo基本命令和Tuxedo的ubb文件详解

1.创建tuxedo.conf配置文件 具体配置文件内容参照其他博客,文末做说明。 2.使用命令将tuxedo.conf配置文件,生成tuxedo.ubb二进制文件 tmloadcf -y tuxedo.conf (-c 计算运行应用需要的IPC资源,该信息将提供给管理员,用于在各机器上配置资源。 -n 进行语法检查并不生成TUXCONFIG。 -b 控制TUXCONFIG占用的物理页数。 -y ...

P.L.C的博客 4959

Tuxedo学习摘记

 Tuxedo Summary1. 强大的C/S通信功能       不仅支持请求/应答,还支持保持交易状态的会话模式、基于发布/订阅的事件代理模式、基于消息通知的单播/多播模式、基于消息队列的可靠消息存储和转发方式2. 强大的联机交易功能       通信传输的只是较少的客户请求服务名和服务结果,不再是大量繁琐的SQL请求应答,有异步RPC机制实现扇出并行、利用MSSQ实现多

Ant Ren的专栏 4861

java wsl连接tuxedo_Tuxedo两个小问题解决

最近碰见了两个Tuxedo的问题,好久没有接触,有些生疏,记录于此。案例1一个Tuxedo Client,通过WSL方式调用Tuxedo Server,从应用现象看,调用不同,没有任何返回。ULOG记录,111920.v490h5!?proc.7625.1.0: LIBWSC_CAT:1037: ERROR: Network message receive failure111920.v490h5...

weixin_39964573的博客 1255
上一篇: [ISQL]ERROR: Could not SQLConnect 错误解决方案
下一篇: TUXEDO超时控制全功略(二) - [Tuxedo]
bobui
博客等级 码龄19年 209粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值