1、 中间件运维服务1 中间件的服务内容1.1 服务目标行天科技可提供的运行维护服务包括,信息系 统相关的主机 设备、操作系 统、数据库和存储设备的运行维护服务,保证 用户现有的信息系统的正常运行,降低整体管理成本,提高网 络信息系统的整体服务水平。同 时根据日常维护的数据和记录 ,提供用 户信息系统的整体建设规划和建议,更好的为用户的信息化 发展提供有力的保障。用户信息系统的组成主要可分为两类:硬件设备和软件系统。硬件设备包括网络设备、安全设备、主机设备、存储设备等;软件设备可分为操作系统软 件、典型应用软件(如:数据库软件、中间件软件等)、业务应用软件等。行天科技通过运行维护服务的有效管理来提
2、升用户信息系统的服务效率,协调各业务应用系统的内部运作,改善网络 信息系统部门与业务部门的沟通,提高服务质量。结合用户现有的环境、组织结构、IT 资源和管理流程的特点,从流程、人 员和技术三方面来规划用户的网络信息系统的结构。将用户的运行目 标、 业务需求与 IT 服务 的相协调一致。行天科技提供的信息系统服务的目标是, 对用户现有的信息系 统基础资源进行监控和管理,及时掌握网络信息系统资 源现状和配置信息,反映信息系统资源的可用性情况和健康状况,创建一个可知可控的 IT 环境,从而保证用户信息系统的各类业务应用系统的可靠、高效、持续、安全运行。服务项目范围覆盖的信息系统资源以下方面的关键状态
3、及参数指标: 运行状态、故障情况 配置信息 可用性情况及健康状况性能指 标1.2 中间件运维服务中间件管理是指对 BEA Weblogic、MQ 等中间件的日常维护管理和监控工作,提高对中间件平台事件的分析解决能力,确保中间件平台持续稳定运行。中间件监控指标包括配置信息管理、故障监控、性能监控。n 执行线程:监控 WebLogic 配置执行线程的空闲数量。n JVM 内存: JVM 内存曲 线正常,能够及时的进行内存空间回收。JDBC 连 接池:连接池的初始容量和最大容量应该设置为相等,并且至少等于执行线程的数量,以避免在运行过程中 创建数据库连接所带来的性能消耗。n 检查 WEBLOG 日志
4、文件是否有异常报错。如果有 WEBLOG 集群配置,需要 检查集群的配置是否正常。22、MQ 中间件维护项目1. 实时监控以下文件系统使用情况:检查文件系统/var/mqmMQ 应用所在文件系统。2. 定期报告 MQ 系统错误,备份清理 MQ 系统错误记录在遇到问题时,检查/var/mqm/errors 目录下是否有新的 FDC 文件产生,如果有应当立即报告 IBM 技术支持部门。另外,要定期检查该目录下 MQ 错误日志。3. 监控队列深度DIS QLOCAL(QName)该命令的显示结果可以看出队列当前深度4. 检查死信队列DIS QLOCAL(DEADQName)5. 检查日志个数是否增长
5、使用命令 cd 移动到 MQ 日志所在目录,使用 ls l|wc 命令统计,如果有所增长,应立即报告 IBM 系统支持人员。6. 检查 MQ 队列管理器错误日志当系统运行不正常时首先检查:/var/mqm/qmgrs/errors/AMQERR0n.LOG7. 检查、处理队列管理器 pending 事务若队列管理器启动成功后,CICS(配置 XAD 连接 MQ)启动失败,则可以检查是否有 pending 事务,若有必须进行处理(可能造成数据的不一致性,必须事先加以确认) 。Websphere 维护项目 系统安装规范和流程。全新系统从操作系统、数据库、WebSphere相关组件,按照特定 was
6、/ihs 版本根据安装手册设立安装规范和流程(目前已经完成此项文档) 。 系统维护规范和流程。比如大版本升级小版本APARfix 维护。是否应用某些关键 fix 的判断原则,是建议打?是可选?对于可选,分析具体 fix 用途以及对应用影响,并和开发部配合沟通的流程。 应用部署规范。包括初始应用部署和大版本升级。重新部署和测试 应用修改流程。 Jsp,修改程序时间后让其自动更新。Class,servlet,ejb, 一般重启应用服务器,对于公共模块,重启 was等。 常用工具说明文档和使用流程。脚本开发和使用,wsadmin 脚本,管理控制台,PMI(连接池释放等 )等工具。后面又详细描述。 应
7、用的发布位置要求规范。系统安装路径规范,应用发布路径,repository 位置规范,log, property 文件规范等等。 (不当的位置可能带来严重后果,比如/home/,批量修改的后果)Websphere 系统优化 JVM 基本调优 Web 容器接收请求线程池。 Web 容器 Servlet 引擎 线程池的值在合理的范围内 JDBC 数据库连接 池数据库连接池的最大值要稍小于 Web 容器线程池的大小 后台数据库本身能接受的客户端连接数目 合理设置数据源配置项中的 preparedstatement 缓存的大小,提高后台数据库访问的效率。3、对 Websphere 进行监控管理和 问题
8、诊断对 Websphere 的资源和可用性进行管理 管理员需要对 WebSphere 的资源信息, JVM 的 CPU、内存、jdbc 连接池、线程池、EJB 调用情况、 GC 的情况、Session 的连接情况等做 实时的信息监控,并且将这些数据收集起来,作 为长期性能趋势对 WebSphere 用户请求信息的监控 对用户的请求信息进行实时监控, 对关键的请求信息以及持 续占用系统资源比较高的请求进行告警处理。 过历史信息收集和分析,分析哪些请求在哪些时间段是频繁的,哪些业务是用 户最多关心和访问的,帮助 优 化业务过程,提高服务质量。对应用问题的深度诊断和分析 在实际的应用开发中,由于对
9、J2EE 组件使用不当,或者是代码编写的不规范,可能会出现一些很难发现且难以解决的问题,比如 线程死 锁、内存泄漏、内存溢出等。Weblogic 维护中间件故障诊断总结 一、 步骤: 1、准确描述现象:客户说的和自己 查看到的:平台、版本、操作、信息等。特别是,故障前是否有做过什么操作:网络调整、 设备调整、主机参数 调 整、配置文件修改 反正将这一切都列入排查的对象。 2、使用工具收集数据,收集配置文件、日志、dump 文件等等。 3、 使用分析数据,根据问题或收集的数据,使用适当的工具分析数据,当然包括了在网上和在官方支持站点搜索类似的问题的解决办法。 4、 尝试解决问题,根据找到的问题点
10、,尝试解决。如修改错的,复原正确的;运行有 问题的,适当调整运行的环境和运行的参数等等。 5、 给出最佳解决方案,一般就是继续观察了。 6、总结经验并加以重用,知识积累。 小魏 16:50:21文件: Tuxedo 维护文档.pdfTuxedo 维护4. 性能调优关闭不使用的特性 Tuxedo7.1 加入了多线程、Contexts、安全、第三方安全插件的特性,这些特性在 7.1 版 本中总是 “Available”的,但在 8.0 中可以把它们 “turn off”OPTOINS NO_AA,NO_XA (NO_AA 关闭安全插件特性,AUTHSVR 可继续使用) 设置环境变量 TMNOTHR
11、EADS=Y,旁路 C 和 S 的多线程特性 使用服务和接口 Cache TUXEDO8.0 及以后的版本都支持服务和接口的缓存,这样客户机可以直接请求高速缓存中 的服务或接口的副本,而不必到公告板中去查找。这一特征会显著地改善服务器的性能 ,尤 其是当系统有大量的用户,而只有少量的服务的情况。在*RESOURCES 或*MACHINES 段中设置 Cache 的入口数: SICACHEENTRIESMAX = N,缺省为 500,0 表示不使用 Cache,最大值为 32767 配置 MSSQ 服务器组提高性能 配置方法 simpserv SRVGRP=GROUP1 SRVID=10 MIN
12、=3 MAX=5 RQADDR=simpserv REPLYQ=Y MSSQ 的使用原则: 服务器在 210 个之间,如果超过 10 个,建议配置多个 MSSQ 服务被频繁调用,处理时间又很短 请求缓冲区不都不是很大,没有大到将一个队列占满的情况 如果 MSSQ 的请求队列占用率超过 85%,建议剥离一部分 SVR 通过配置负载均衡提高性能 步骤: 在 UBB 文件设置:LDBAL=Y 在客户端使用 tpcall()测试每个 SVC 的处理时间,记为 Ti 求出所有 SVC 执行时间的平均值,记录为 T 为每个 SVC 设置 LOAD 因子 ,如果 TiT,则 LOAD 设置为 50,如果 T
13、iT,则设置 LOAD 为 大于 50 的值 ,否则设置 LOAD 为小于 50 的值通过配置优先级参数提高性能 方法: 管理方法:为单个服务指定 PRIO 因子 编程方法:在代码中使用 tpsprio()动态设置优先级 原则: 由于高优先级的接口请求先出队,因此只能给一些不经常被调用的接口或服务设置高优先 级。 在你把一个服务或接口的优先级调低之前,你应确保这个服务或接口的响应时间并不重要 才行。 通过服务绑定提高性能 原则 把业务功能相似的 SERVICES 绑定到一个 SERVER 中。 把调用了相同链接库或其它资源的SERVICES绑定到一个SERVER中,减小应用程序的大小, 节省磁
14、盘空间 执行时间和优先级相近的 SERVICE 可放到同一个 SERVER 中 把调用频率相同的 SERVICES 绑定在同一个 SERVER 中 同一个 SERVER 中的 SERVICE 最好有相同的服务优先级,如果不同,优先级最低的那个的请求可能要很长时间才得到处理。 不要相互调用的 SERVICES 放在同一个 SERVER 中, 这有可能导致服务器死锁 把经常用的 SRV 绑定在一起,不经常用的绑定在一起 把使用相同 RM 的 SRV 绑定在一起 把执行 QUERY 的 SRV 绑定在一起,执行 UPDATE 的绑定在一起 对一些使用率较高的服务,如银行的取款服务 WITHDRAWA
15、L,应该单独把它放到一个 SERVER 中,并采用 MSSQ 方式 把处理某一类业务的 SRV 绑定在一起 考虑因素 要考虑队列的容量,请求队列使用率超过 85%时,Tuxedo 把请求写到磁盘文件中 ,然后再 传给服务器处理,这时性能大大下降 通过系统参数配置提高效率 MAXACCESSERS,MAXSERVERS,MAXINTERFACES,MAXSERVICES MAXWSCLIENTS 这参数增加了信号量和共享内存的开销MAXWSCLIENTS 与所购买的 LICNESE 数有关,可设置得比所购买的 LICENSE 数大一些。当并发连接数大于 所购买的 LICENSE 数时,TUXEDO 会报警,(在 ULOG 中回有信息)当超过 10%时,TUXEDO 拒 绝新的 CLIENT 端连入,客户端的 tpinit()会报错MAXGTT,MAXBUFTYPE,MAXBUFSTYPE SANITYSCAN,BLOCKTIME 如果没有全局事务,可把 MAXGTT 设置为 0。如果系统运行在慢处理器(可能由于负载过 重造成), 你可以适当增大 SANITYSCAN,BLOCKTIME 和单个事务超时等时间参数。BBLQUERY 和 DBBLWAIT 如果网络缓慢,你可以适当增加 BLOCKTIME,BBLQUERY 和 DBBLWAIT 参数值