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 阅读详情

相关推荐

海康摄像头RTSP流延迟优化实战:从VLC到OpenCV的5种方案对比与性能调优

本文针对海康摄像头RTSP流的高延迟问题,深入剖析了延迟根源,并系统对比了从VLC、OpenCV到海康官方SDK、FFmpeg及硬件加速等五种主流方案的性能表现。重点分享了缓冲区设置、协议优化、多线程架构与硬件解码等实战调优技巧,旨在帮助开发者将视频流延迟从秒级优化至毫秒级,满足工业检测、安防监控等高实时性场景需求。

hh234的博客 806

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

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

双子黎明的专栏 1259

二维otsu算法python_OpenCV-Python系列之OTSU算法

上一个教程中,我们谈到了关于图像二值化的两种方法,一种是固定阈值法,另一种是自适应阈值法,总的来说,自适应阈值法在某些方面要由于固定阈值法,但还没完,这次我们将隆重介绍我们的重量级选手,也就是OTSU算法(又称为大津算法和最大类间方差法)。最大类间方差法是1979年由日本学者大津提出的,是一种自适应阈值确定的方法,又叫大津法,简称OTSU,是一种基于全局的二值化算法,它是根据图像的灰度特性,将图像...

weixin_28834169的博客 1426

tuxedo: 集群配置要点

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

懒猫会打盹的专栏 6309

我用 AI 做了个开源地图工具:从 OpenStreetMap 一键获取全国 AOI/POI 数据

本文介绍了一款免费开源的OSM数据查询与可视化工具,旨在解决Overpass QL语法晦涩、数据获取门槛高的问题。工具支持面数据(AOI)、点数据(POI)及路网三种查询模式,内置30+常用模板实现一键检索。具备高德与OSM双底图切换、坐标自动转换功能,支持GeoJSON、SHP、CSV多格式导出,同时保留自定义查询能力。作为纯HTML单文件应用,可零成本部署至GitHub Pages在线使用。该工具有效降低了地理数据获取难度,是替代商业地图API、高效提取全球开源地理信息的实用利器。

weixin_45812624的博客 587

AD9361 官方例程详解(一)

文章目录前言一、pandas是什么?二、使用步骤总结 前言 一、pandas是什么? 二、使用步骤 总结

weixin_44630490的博客 4万+

Tuxedo 介绍与安装

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

虫师 1578

OpenClaw实战系列06:持久记忆与RAG知识库构建——让AI真正“记住”你

本文介绍了OpenClaw AI助理的持久记忆与RAG知识库构建功能。OpenClaw采用"文件即真理"的独特设计,所有记忆都以Markdown文件形式存储,支持直接编辑和Git版本管理。记忆系统分为三层:长期精炼记忆(MEMORY.md)、日常日志(按日期存储)和归档记忆。文章详细说明了环境配置步骤,包括安装必要组件、创建目录结构、设置API密钥,并提供了OpenClaw主配置文件的完整参数说明。该系统实现了跨会话、跨平台的持久化记忆,使AI助理能真正理解用户需求。

PeterPan的博客 1171

Tuxedo基本命令:

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

yinlin330的博客 3499

Google antigravity 不支持你所在地区?手把手教你把账号改成支持地区

Google antigravity功能火爆,但国内老账号根本用不了🤬本文分享几种有效的账号国家地区切换方法,最快几分钟就能让antigravity直接亮起🔥

XiaoqiangClub的博客 2万+

Serial RapidIO Gen2 IP 说明(三)

前言 继续接着上篇文章,介绍Serial RapidIO Gen2 IP 的具体端口信息。 一、端口描述 1、缓冲设计接口 2、物理层接口 参考说明 【1】Serial RapidIO Gen2 v4.1https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/srio_gen2/v4_1/pg007_srio_gen2.pdf ...

记录所学,分享知识,结识挚友 1321

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的博客 2222

SPSS 多重共线性问题:编程解决方案

多重共线性会导致回归模型的不稳定性,使得估计的回归系数失去解释力,降低模型的准确性和可靠性。通过执行这些代码,你将能够计算和查看VIF和CI的结果,并确定是否存在多重共线性问题。上述代码执行了一个回归分析,其中A是我们感兴趣的因变量,B、C、D和E是我们要检查的自变量。接下来,我们将执行多重共线性的检测。通过执行上述代码,你将能够看到每个自变量的VIF和CI值,以及预先设置的阈值。上述代码将计算VIF和CI的值,并将结果写入指定路径的结果文件中。接下来,我们可以使用以下代码来计算和显示VIF和CI的值。

CyberGenius的博客 1426

tuxedo 超时控制

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

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

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Tuxedo 超时控制(转贴)

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

folin的专栏 2476

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TUXEDO超时控制全功略(zt)

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

congnen9588的博客 512

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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、付费专栏及课程。

余额充值