最近公司的项目沪杭沪宁的高铁项目中所有的售票服务器的集群在tuxedo三个节点中。在10月下旬的一个下午,沪杭和沪宁的高铁售票非常的缓慢,一张票需要2分钟,针对这种情况,向领导报告之后,不久领导回复,tuxedo服务的由于配置的问题,致使一种一台服务超负荷使用,致使请求缓慢。为了尽快回复快速售票,只有关闭其中的一个服务节点,让各线重新启动服务并修改配置。真是一个悲剧一个!据说其中一个服务关掉之后仍然需要一个小时的时间所有的线程中的所有的请求队列才最终全部销毁。
今天有时间,开始查找关于tuxedo的负载均衡的文档学习。
我们说了很多负载均衡的问题,我们都是针对网络方面进行解说的。其实,在服务器的应用线程方面也可以进行负载均衡的优化。在这里我们对事务处理的Tuxedo的负载均衡问题进行一个解说。现在就让我们一起从文中来了解具体的内容吧。
Tuxedo中间件通过将客户端请求进行排队的方式,实现将客户请求以均衡的方式交给服务器进行处理,从而达到减轻应用服务器资源负担的目的。我们可以通过合理设置服务进程个数和请求队列个数来达到提高大并发量应用的性能的目的。在最简单的情况下,只有一个服务进程(可能包含一个或多个服务)来处理客户端对其中服务的请求,所有的请求首先放入这个服务进程的队列里面,然后服务进程逐个取出处理。复杂一些,如果一个服务进程不能满足业务系统对性能的要求,tuxedo可以启动服务进程的多个实例,来提高服务进程对请求的处理速度,此时tuxedo配置请求队列的方式就会影响到大并发请求应用的性能,下面我们以simpserv这个简单应用为例,对tuxedo的负载均衡方式加以探讨。
一、单进程单队列
单server单队列方式下UBBconfig的配置如下:
simpserv SRVGRP=GROUP1 SRVID=1
这时tuxedo在boot时只启动一个服务进程提供服务,所有的请求首先放入这个服务进程的队列里面,然后服务进程逐个取出处理。单个服务进程不能满足要求的情况下,就要考虑多进程的方式。
二、多进程多队列
多进程多队列方式tuxedo直接启动服务进程的多个实例,每个server都有自己的请求队列。UBBconfig中*SERVERS段描述部分有几个参数控制着进程和队列的启停方式。其中,MIN代表最少启动的进程个数,其缺省值为1。 MAX代表启动的进程最大个数,其缺省等于MIN,如果设置了MAX值且大于MIN,则代表tuxedo可以在服务进程忙时自动启动最多到MAX个进程实例。单进程单队列的模式中,由于没有指定MIN和MAX参数,因此MAX和MIN二参数取了缺省值1,即单服务进程实例方式。
多进程多队列的UUBconfig配置举例如下:
Simpserv SRVGRP=GROUP1 SRVID=1 MIN = 3 MAX = 5
CLOPT="-A -r -v -p 3,10:6,5"
如果没有指定请求队列名称,每个simpserv进程都会生成一个请求队列,第二列就是该进程对应的队列名,队列名称的缺省值为GRPNO.SRVID,既“."前面是GRPNO,后面是SRVID,可以看出每个simpserv进程有自己的请求队列。CLOPT中的-p参数控制tuxedo根据系统负载情况可以自动启动或停止一些simpserv进程,本例表示,队列等待请求大于6个且时间超过 5秒服务进程自动增加,队列等待请求小于3个且时间超过20秒时,服务服务进程自动减少,但实存的进程个数限制在 MIN和MAX之间。相关的另一个参数就是UUBconfig中*RESOURCES段的LDBAL,表示是否启动负载均衡机制,默认是“N"(不启动),你可以通过设置成“Y"来启动。这里需要注意的是,为“N"的时候并不表示多个服务进程不能分担负载。主要的差别是为“Y"时,TUXEDO在接收到请求时会按照它的负载均衡的算法来找到合适的服务进程来处理,而设置成“N"时,总是由第一个可用的进程来处理。通过这种方法可以让多个进程来处理大量并发的请求,就达到了改善性能的目的。SRVID取值介于SRVID和SRVID+MAX-1,系统自动赋值。
分享到:
相关推荐
实现Tuxedo负载均衡需要进行一系列的系统配置和环境设定。 - **系统配置**: - **常规信息**:确保所有参与负载均衡的服务器操作系统配置一致,网络连接稳定,且具备相应的硬件资源。 - **并发执行脚本**:编写...
总的来说,TUXEDO的MMSQ负载均衡机制是处理高并发场景的有效工具,通过合理配置和优化,能够显著提升分布式系统的处理能力和稳定性。在实际操作中,结合业务特性和系统资源,选择最适合的负载均衡策略至关重要。
6. **负载均衡与优化**:根据系统负载情况,Tuxedo自动调整服务启停,均衡各系统资源,满足高负荷应用需求。 7. **智能路由与队列管理**:通过数据依赖路由(DDR),实现消息的智能选择和路由,而交易队列则支持...
2. **高可用性与可靠性**:通过负载均衡和故障转移机制,Tuxedo能够在出现故障时自动恢复服务,保证系统的连续运行。 3. **灵活的应用集成**:Tuxedo支持多种编程语言(如C/C++、Java等),并提供了丰富的API,使得...
Tuxedo概述 Tuxedo基本概念 BEA Tuxedo的功能 BEA Tuxedo的环境变量 BEA Tuxedo管理进程 BEA Tuxedo常用命令使用方法 ...BEA Tuxedo负载均衡 BEA Tuxedo 与 Weblogic之间的调用 IBM MQSeries简单介绍
例如,中间件可以处理网络通信、事务处理、数据转换、安全性、负载均衡和故障恢复等任务。 在三层结构中,中间件扮演着至关重要的角色。以下是三层结构的组成部分: 1. **表示层(用户界面)**:这是与用户交互的...
- **负载均衡**:通过动态分配工作负载,优化资源使用,提高系统性能。 - **安全机制**:支持认证、授权和审计,保障系统安全。 - **监控与管理**:提供TUXMON工具,实时监控系统状态,便于故障排查和性能优化。 ...
此外,还有负载均衡器(LB)和数据库服务器(DB)等组件,共同构建出高效且可扩展的系统架构。 【TUXEDO MIB(Management Information Base)】是TUXEDO提供的实时监控工具,它允许管理员通过一套编程接口来监视和...
服务管理涉及到服务的生命周期、负载均衡、故障恢复等,而通信机制则包括TCP/IP、UDP等网络协议的使用,以及消息队列的概念。这些内容对于优化系统的性能和稳定性至关重要。 在事务处理方面,Tuxedo遵循ACID(原子...
解释Tuxedo如何实现负载均衡以提升系统性能,以及在服务器故障时的自动故障转移策略。 10. **第十章:Tuxedo性能调优** 提供性能监控和调优的技巧,包括日志分析、内存管理和并发控制。 11. **第十一章:Tuxedo...
在多机环境中部署 Tuxedo,需要考虑网络通信、负载均衡和故障恢复。关键步骤包括: - **启动 tlisten**:配置监听器在所有节点上启动,确保服务可以被正确发现。 - **UBB 文件配置**:为每个节点定制 UBB 文件,保证...
- **大规模并发处理**:当用户请求量非常大时,Tuxedo RAC可以通过负载均衡将请求分发到多个节点,提高处理效率。 - **地理分布式部署**:对于跨地域的系统部署,Tuxedo RAC可以减少由于地理位置造成的延迟问题。 #...
3.2 负载均衡:通过智能调度策略,Tuxedo可以自动分配请求给负载较轻的服务器,提升系统性能。 3.3 安全性:Tuxedo提供了用户认证、权限控制等功能,保障系统的安全性。 四、Tuxedo编程接口 4.1 TUXCALL:Tuxedo...
通过提供事务管理、进程间通信(IPC)、负载均衡、故障恢复等功能,Tuxedo保障了复杂业务系统的稳定运行。 1.2 主要特点 - 高性能:Tuxedo支持微秒级的事务处理速度,能处理海量并发请求。 - 高可用性:具备故障...
6. **性能优化**:Tuxedo通过缓存、负载均衡和优化的通信协议来提升性能,确保在高并发环境下仍能保持高效运行。 7. **监控和管理**:Tuxedo提供了一套完整的管理和监控工具,如TMON(Tuxedo Monitor)用于监控系统...
6. **负载均衡**:Tuxedo可以动态分配服务请求到不同的服务器实例,实现负载均衡,提升系统的整体处理能力。 7. **故障恢复与容错**:Tuxedo具备故障检测和恢复机制,当服务器出现故障时,可以自动切换到备份服务器...
5. **性能与可扩展性**:通过负载均衡和集群技术,Tuxedo能够处理大量并发请求,提高系统性能和可扩展性。 6. **安全机制**:Tuxedo提供了多种安全特性,包括认证、授权和加密,以保障应用的安全运行。 7. **集成...
- **高级主题**:探讨了一些高级管理技术,例如负载均衡、集群配置等。 #### 六、总结 Tuxedo是一款功能强大的分布式事务处理中间件,适用于构建高可用性、高性能的应用程序。本文档《Administering the BEA ...
Tuxedo 通过提供一系列的服务(包括但不限于事务管理、负载均衡、错误恢复等)来确保应用的稳定运行。 #### 二、Jolt 工具简介 Jolt 是一个轻量级的数据转换工具库,主要应用于 Java 程序中,用于对 JSON 数据格式...
8. **集群和负载均衡**:Tuxedo支持集群部署,可以实现服务的自动故障转移和负载均衡,提高系统的可用性和性能。 9. **与WebLogic Server集成**:作为Oracle产品的一部分,Tuxedo能够与WebLogic Server无缝集成,...