软件项目维护方案(参考示例).pdf
《软件项目维护方案(参考示例).pdf》由会员分享,可在线阅读,更多相关《软件项目维护方案(参考示例).pdf(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件项目维护方案软件项目维护方案1.1.项目背景及目标项目背景及目标1.1.1.1.项目背景项目背景在国家政策的指导和帮助下,信息化也越来越发挥出十分重要的作用。XXXX不断加大信息化管理工作力度,积极实施“上网工程”,大力推进全市局域网建设,加快办公自动化系统进程,信息技术在改革中发挥了重要的支撑作用,为充分发挥政府公共职能,促进依法理财、科学理财,提供了重要的信息技术保障。近年来建设各系统随着数据量的逐年增加,陆续出现了性能问题,有必要进行数据库系统的升级及性能优化,以确保应用系统的正常运行,为单位员工提供更好的信息服务。1.2.1.2.项目目标项目目标 对各系统数据库进行补丁升级服务,安
2、装补丁前制定详细的升级计划和应急回退计划。完成各系统数据库的性能调优工作。各业务持续性得到有效的保证。2.2.需求分析需求分析XXXXXXX 项目,我公司有多年的行业经验。具有对运维服务对象进行适时监测、指标分析、和及时修复的能力。Oracle 产品日常运行维护项目主要从如下几个方面进行:(1).每天对 ORACLE 数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行查看,发现并解决问题。(2).每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康查看,对数据库对象的状态做查看。(3).查看表空间碎片,提出下一步空间管理计划。对 ORACLE
3、数据库状态进行一次全面查看。(4)由于这些数据库系统承载着 XXXX 非常重要的业务系统数据,所以在日常维护中需要非常仔细,每周、每月、每季都需要有相应的巡检记录,需要详细记载以下一些内容:监控数据库对象的空间扩展情况监控数据量的增长情况系统健康查看,查看以下内容:数据库对象有效性查看查看是否有危害到安全策略的问题。查看 alert、Sqlnet 等日志并归档报错日志分析表和索引查看对数据库会产生危害的增长速度查看表空间碎片数据库性能调整预测数据库将来的性能调整和维护工作后续空间3.3.整体运行维护服务方案整体运行维护服务方案3.1.3.1.LifekeeperLifekeeper 维护维护3
4、.1.1.3.1.1.验证验证 LifeKeeper LifeKeeper 的安装的安装查看已经安装的 LifeKeeper 软件包,可以使用命令:rpm qa|grep stee3.1.2.3.1.2.启动启动 LifeKeeper LifeKeepera)启动 LifeKeeper 服务器进程如果当前您的系统没有运行 LifeKeeper 则在所有服务器上以 root 用户身份输入如下命令#/opt/LifeKeeper/bin/lkstartb)启动 LifeKeeper GUI 服务器进程同样以 root 用户运行命令#/opt/LifeKeeper/bin/lkGUIserver s
5、tart注意:以上命令只需运行一次,以后每次系统重新启动时,LifeKeeper 会自动运行上述进程3.1.3.3.1.3.有关的有关的 LifeKeeperLifeKeeper 软件的其它管理任务软件的其它管理任务a)停止 LifeKeeper 服务如果需要在服务器上永久停止 LifeKeeper 服务,可以输入下列命令$LKROOT/bin/lkstop该命令同时会使所有 LifeKeeper 保护的资源处于退出服务状态,如果希望在停止 LifeKeeper 时保持资源/应用的运行,可以使用:$LKROOT/bin/lkstop-fb)查看 LifeKeeper 进程键入下列命令可以查看当
6、前运行的所有 LifeKeeper 进程列表ps-ef|grep LifeKeeper3.1.4.3.1.4.启动启动 LifeKeeperGUILifeKeeperGUI 配置工具配置工具进入 LifeKeeper GUI 管理工具可以通过运行命令:/opt/LifeKeeper/bin/lkGUIapp则出现 LifeKeeper 登录界面:可以使用 root 用户登录,也可以使用新建的用户进行登录。3.1.5.3.1.5.检测检测 LifeKeeperLifeKeeper 集群运行状态集群运行状态可以使用 lcdstatus 命令对 LifeKeeper 集群的当前运行状态进行查看,命令
7、格式:lcdstatus-q-d 该程序向 stdout 输出在 LifeKeeper 资源层次配置状态和通信路径的状态.选项-q 表示输出采用简略的形式(建议使用该选项)选项d 表示要查看的主机,缺 X 查看本机3.1.6.3.1.6.管理管理 LifeKeeper LifeKeeper 中的资源中的资源注意:如果能运行 LifeKeeper GUI,则使用其提供菜单命令执行相应操作;在执行命令行启动/停止资源前,一定先使用 lcdstatus 命令确认资源的实际状态。a)启用资源(In-Service)可以使用命令:./perform_action -t -a restore将资源标记名所
8、对应的资源在本机上投入服务(启动)。如果该资源在命令使用前已经在另一台机器上处于运行状态,则本命令执行的结果相当于执行了一次手工切换!如果该资源在命令使用前是处于停止状态(即在备机上执行本命令),则本命令执行的结果相当于执行了一次手工切换b)停止资源(out-of-service)可以使用命令:./perform_action -t -a remove将资源标记名所对应的资源在本机上停止服务。如果该资源在命令使用前已经在另一台机器上处于运行状态,则本命令执行不产生任何结果注意:在执行命令行前后,一定先使用 lcdstatus 命令确认资源的当前状态。命令停止/启动本地的资源命令中的是区分大小写
9、的一定要等待命令完成,注意命令的输出。详细用法见在线帮助手册。3.2.3.2.SQL SERVERSQL SERVER 维护维护计算机系统各种软、硬件故障、用户误操作以及恶意破坏是不可避免的,这些影响到数据的正确性甚至造成数据损失、服务器崩溃等致命后果。数据库的备份对保证系统的可靠性具有重要的作用。下面会根据执行强度对维护任务及其相应的程序进行分类描述,执行强度用不同的时间间隔定义,包括每天、每周、每月和每季度,能够建立起良好的维护实务,确保 SQL Server 数据库性能和安全。3.2.1.3.2.1.每天的例行维护任务每天的例行维护任务需要数据库管理员密切关注的维护任务,最好每天都查看一
10、下,这样可以确保系统的可靠性、可用性、运行性能和安全。每天的例行维护任务包括:1、查看是不是所有被请求的 SQL Server 服务都正常运行。2、查看日常备份日志中成功、警告或者失败记录。3、查看 Windows 事件日志有没有错误记录。4、查看 SQL Server 日志有没有安全警告记录,例如非法登录。5、执行完全备份或差异备份。6、在设置了完全恢复模型或大容量日恢复模型的数据库上执行事务日志备份任务。7、核实 SQL Server 作业没有失败。8、查看所有的数据库文件和事务日志具有合适的磁盘空间大小。9、至少要监控处理器、内存或者磁盘计数器没有出现瓶颈。3.2.2.3.2.2.每周的
11、例行维护任务每周的例行维护任务关注程度稍逊于每天的例行维护任务,最好每周进行一次例行查看。每周的例行维护任务包括:1、执行完全备份或差异备份。2、查看以前执行的维护计划报告。3、查看数据库完整性。4、如果需要,执行收缩数据库任务。5、通过重新组织索引任务压缩聚集和非聚集表和视图。6、通过重新生成索引任务在数据页和索引页重新组织数据。7、更新所有用户表和系统表的统计信息8、清除备份、还原、SQL Server 代理作业和维护计划等操作的历史数据。9、如果需要,手动增长数据库或事务日志文件10、清除执行维护计划残留下来的文件。3.2.3.3.2.3.每月或每季度的维护任务每月或每季度的维护任务有一
12、些维护计划不需要执行得过于频繁,可以每个月或每个季度执行一次。但是请不要以为这些任务不需要天天执行就无足轻重,这些任务可以确保数据库环境的健康,所以不要轻视以下这些维护任务:1、在测试环境中执行备份还原操作。2、将历史数据归档。3、分析收集的性能统计数据,与基准值相比较。3、查看并更新维护文档。4、查看并安装最新的 SQL Server 补丁和补丁包。5、如果运行簇、数据库镜像或日志传送,则监测故障转移。6、验证备份和还原进程是否遵循已定义的服务等级协议。7、更新 SQL Server 构建指南。8、更新 SQL Server 灾难恢复文档。9、更新维护计划列表10、修改管理员口令。11、修改
13、 SQL Server 服务帐户口令。3.3.3.3.WebLogicWebLogic 维护维护3.3.1.3.3.1.性能调优性能调优3.3.1.1.3.3.1.1.设定执行队列的溢出条件设定执行队列的溢出条件Weblogic Server 提供给默认的执行队列或用户自定义的执行队列自定义溢出条件的功能,当满足此溢出条件时,服务器改变其状态为“警告”状态,并且额外的再分配一些线程去处理在队列中的请求,而达到降低队列长度的目的。通过启动管理控制台,在域(如:mydomain)服务器 server 实例(如:myserver)Execute Queue 配置下面几项:队列长度:此值表示执行队列中
14、可容纳的最大请求数,默认值是65536,最后不要手动改变此值。队列长度阈值百分比:此值表示溢出条件,在此服务器指出队列溢出之前可以达到的队列长度大小的百分比。线程数增加:当检测到溢出条件时,将增加到执行队列中的线程数量。如果CPU 和内存不是足够的高,尽量不要改变默认值“0”。因为 Weblogic 一旦增加后不会自动缩减,虽然最终可能确实起到了降低请求的作用,但在将来的运行中将影响程序的性能。最大线程数:为了防止创建过多的线程数量,可以通过设定最大的线程数进行控制。在实际的应用场景中,应根据具体情况适当的调整以上参数。3.3.1.2.3.3.1.2.设定队列监测行为设定队列监测行为Weblo
15、gic Server 能够自动监测到当一个执行线程变为“阻塞”。变为“阻塞”状态的执行线程将无法完成当前的工作,也无法再执行新请求。如果执行队列中的所有执行线程都变为“阻塞”状态,Weblogic server 可能改变状态为“警告”或“严重”状态。如果Weblogic server 变为“严重”状态,可以通过NodeManager 来自动关闭此服务器并重新启动它。具体请参考:Node ManagerCapabilities 文档。通过启动管理控制台,在域(如:mydomain)服务器 server 实例(如:myserver)配置 调整下可配置下面几项:阻塞线程最长时间:在此服务器将线程诊断
16、为阻塞线程之前,线程必须连续工作的时间长度(秒)。默认情况下,WebLogic Server 认为线程在连续工作 600秒后成为阻塞线程。阻塞线程计时器间隔:WebLogic Server 定期扫描线程以查看它们是否已经连续工作了阻塞线程最长时间 字段中指定的时间长度的间隔时间(秒)。默认情况下,WebLogic Server 将此时间间隔设置为 600 秒。3.3.1.2.1.3.3.1.2.1.尽量使用本地尽量使用本地 IOIO 库库WebLogic Server 有两套套接字复用器:Java 版和本地库。采用小型本地库更有效,尽量激活 Enable Native IO(默认),此时 UN
17、IX 默认使用 CPUs+1 个线程,Window 下为双倍 CPU。如果系统不能加载本地库,将会抛出此时只能使用 Java套接字复用器,可以调整 socket readers 百分比,默认为 33%。该参数可以在Console Server Tuning Configuration配置栏里设置,配置完,重新启动WebLogic Server 即可。3.3.1.2.2.3.3.1.2.2.调整默认执行线程数调整默认执行线程数名称名称开发模式开发模式产品模式产品模式推荐个数推荐个数Execute Queues默认的执行线程为 15默认的执行线程为 25200在管理控制台修改默认执行队列线程数的步
18、骤如下:如果管理服务器没有运行,先启动。访问管理控制台。展开左边面板的 Servers 节点,显示 Server 列表。右击 Server,在弹出菜单中选择 View Execute Queues,就会在右边面板显示有执行队列的表用来修改。注意:你只能修改默认的执行队列或者用户定义的执行队列。在 Name 列,直接点击默认执行队列名称,显示配置标签用来修改执行队列数。填下适当的线程数。点击 Apply,保存刚才的修改。重启 Server,使新的执行队列设置生效。3.3.1.3.3.3.1.3.JDBCJDBC 调优调优3.3.1.3.1.3.3.1.3.1.驱动程序类型选择驱动程序类型选择Or
19、acle 提供 thin 驱动和 oci 驱动,从性能上来讲,oci 驱动强于 thin 驱动,特别是大数据量的操作。但在简单的数据库操作中,性能相差不大,随着 thin 驱动的不断改进,这一弱势将得到弥补。而 thin 驱动的移植性明显强于 oci 驱动。所以在通常情况下建议使用 thin 驱动3.3.1.3.2.3.3.1.3.2.调节连接池初始容量和最大容量调节连接池初始容量和最大容量JDBC Connection Pool 的调优受制于 WebLogic Server 线程数的设置和数据库进程数,游标的大小。通常我们在一个线程中使用一个连接,所以连接数并不是越多越好,为避免两边的资源消
20、耗,建议设置连接池的最大值等于或者略小于线程数。同时为了减少新建连接的开销,将最小值和最大值设为一致;值等于WebLogic Server 的执行线程数。3.3.1.3.3.3.3.1.3.3.其他配置其他配置尽管 JDBC Connection Pool 提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不需调整。这里建议最好不要设置测试表,同时 TestReserved Connections 和 Test Released Connections 也无需勾上。当然如果你的数据库不稳定,时断时续,你就可能需要上述的参数打开3.3.1.4.3.3.1.4.WEBWEB 调优调优3
21、.3.1.4.1.3.3.1.4.1.调整调整 WEBWEB 应用描述符应用描述符WEB 应用除代码之外的调优比较简单,仅仅是对一些 WEB 应用描述符的调整。首先关闭 Session Monitoring Enabled,仅仅在 Cluster 环境下设置 Session 复制(优先使用内存复制),在保证应用正常运行的情况下,设置较短的 Session 超时时间。同时生产环境下无需查看Jsp 和 servlet:JSPPage Check Secs 和Servlet Reload Check Secs 均设为-1,关闭 JSP Keep Generated 和 JSP Verbose对性能也
22、有帮助。此外,还可以对 jsp 进行预编译,有两种方法:激活 precompile选项;使用事先编译,建议采用后者。3.3.1.5.3.3.1.5.其他调优设置其他调优设置3.3.1.5.1.3.3.1.5.1.WebLogicWebLogic 文件描述符大小调整文件描述符大小调整首先设置 WEB 主机系统的 ulimit 参数为 unlimited,然后设置 WebLogic中文件描述符的大小。在WL_HOME/bea/weblogic/common/bin 中打开文件,修改设置文件描述符大小的指令,将默认的:ulimit n 1024 修改为:ulimit n 81923.3.2.3.3.
23、2.维护管理维护管理3.3.2.1.3.3.2.1.启动启动 weblogic serverweblogic server启动管理服务器:执行启动被管理服务器:执行 servername adminurl3.3.2.2.3.3.2.2.停止停止 weblogic serverweblogic server停止被管理服务器:执行 servername启动被管理服务器:执行3.3.2.3.3.3.2.3.登录和退出管理控制台登录和退出管理控制台管理服务器启动后可以在浏览器中登录管理控制台输入 URL:,则使用 https 访问管理控制台在弹出的窗口“Console Login“中输入用户名和密码登
24、录3.3.2.4.3.3.2.4.性能监控性能监控查看性能参数登录控制台后点击 Servers-servername-Monitoring-Performance参数分析1)Idle Threads&Queue Length&Throughout1)Idle Threads&Queue Length&Throughout正常情况下 idle threads 0,queue Length 为 0,Throughout 呈不规则变化曲线,Memory Usage 呈适度频度的锯齿变化曲线。一般来说,对于正常配置的生产环境(线程数 50200),如果 idle threads 0,则 queue l
25、ength=0;B、反之,如果 queue length0,则空闲线程数=0;2)Memory Usage2)Memory Usage Memory Usage=totalMemory()freeMemory()内存使用曲线反应了 JVM Heap 内存使用的变化情况,可以结合其他三个值的变化情况来判断 server 工作情况;比较理想的状态是适当频度的各种锯齿变化,由于 JVM GC 多采用“stop the world”机制,也就是垃圾回收时其他处理将暂停,过度频繁的 GC 将明显降低 server 工作效率和性能表现。3.4.3.4.OracleOracle 维护维护Oracle Dat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 维护 方案 参考 示例
限制150内