软件项目保护方案参考例如.docx
- 文档编号:23278868
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:53
- 大小:226.52KB
软件项目保护方案参考例如.docx
《软件项目保护方案参考例如.docx》由会员分享,可在线阅读,更多相关《软件项目保护方案参考例如.docx(53页珍藏版)》请在冰豆网上搜索。
软件项目保护方案参考例如
软件项目保护方案
1.项目背景及目标
1.1.项目背景
在国家政策的指导和帮忙下,信息化也愈来愈发挥出十分重要的作用。
XXXX不断加大信息化治理工作力度,踊跃实施“上网工程”,大力推动全市局域网建设,加速办公自动化系统进程,信息技术在改革中发挥了重要的支撑作用,为充分发挥公共职能,增进依法理财、科学理财,提供了重要的信息技术保障。
最近几年来建设各系统随着数据量的逐年增加,陆续显现了性能问题,有必要进行数据库系统的升级及性能优化,以确保应用系统的正常运行,为单位员工提供更好的信息效劳。
1.2.项目目标
●对各系统数据库进行补丁升级效劳,安装补丁前制定详细的升级打算和应急回退打算。
●完成各系统数据库的性能调优工作。
●各业务持续性取得有效的保证。
2.需求分析
XXXXXXX
项目,我公司有连年的行业体会。
具有对运维效劳对象进行适时监测、指标分析、和及时修复的能力。
Oracle产品日常运行保护项目要紧从如下几个方面进行:
(1).天天对ORACLE数据库的运行状态,日记文件,备份情形,数据库的空间利用情形,系统资源的利用情形进行查看,发觉并解决问题。
(2).每周对数据库对象的空间扩展情形,数据的增加情形进行监控,对数据库做健康查看,对数据库对象的状态做查看。
(3).查看表空间碎片,提出下一步空间治理打算。
对ORACLE数据库状态进行一次全面查看。
(4)由于这些数据库系统承载着XXXX超级重要的业务系统数据,因此在日常
保护中需要超级认真,每周、每一个月、每季都需要有相应的巡检记录,需要详细记载以下一些内容:
监控数据库对象的空间扩展情形
监控数据量的增加情形
系统健康查看,查看以下内容:
数据库对象有效性查看
查看是不是有危害到平安策略的问题。
查看alert、Sqlnet等日记并归档报错日记
分析表和索引
查看对数据库会产生危害的增加速度
查看表空间碎片
数据库性能调整
预测数据库以后的性能
调整和保护工作
后续空间
3.整体运行保护效劳方案
3.1.Lifekeeper保护
3.1.1.验证LifeKeeper的安装
查看已经安装的LifeKeeper软件包,能够利用命令:
rpm–qa|grepstee
3.1.2.启动LifeKeeper
a)启动LifeKeeper效劳器进程
若是当前您的系统没有运行LifeKeeper那么在所有效劳器上以root用户身份输入如下命令
#/opt/LifeKeeper/bin/lkstart
b)启动LifeKeeperGUI效劳器进程
一样以root用户运行命令
#/opt/LifeKeeper/bin/lkGUIserverstart
注意:
以上命令只需运行一次,以后每次系统从头启动时,LifeKeeper会自动运行上述进程
3.1.3.有关的LifeKeeper软件的其它治理任务
a)停止LifeKeeper效劳
若是需要在效劳器上永久停止LifeKeeper效劳,能够输入以下命令
$LKROOT/bin/lkstop
该命令同时会使所有LifeKeeper爱惜的资源处于退出效劳状态,若是希望在停止LifeKeeper时维持资源/应用的运行,能够利用:
$LKROOT/bin/lkstop-f
b)查看LifeKeeper进程
键入以下命令能够查看当前运行的所有LifeKeeper进程列表
ps-ef|grepLifeKeeper
3.1.4.启动LifeKeeperGUI配置工具
进入LifeKeeperGUI治理工具能够通过运行命令:
/opt/LifeKeeper/bin/lkGUIapp
那么显现LifeKeeper登录界面:
能够利用root用户登录,也能够利用新建的用户进行登录。
3.1.5.检测LifeKeeper集群运行状态
能够利用lcdstatus命令对LifeKeeper集群的当前运行状态进行查看,命令格式:
lcdstatus[-q][-d<主机名>]
该程序向stdout输出在LifeKeeper资源层次配置状态和通信途径的状态.
选项-q表示输出采纳简略的形式(建议利用该选项)
选项–d表示要查看的主机,缺X查看本机
3.1.6.治理LifeKeeper中的资源
注意:
若是能运行LifeKeeperGUI,那么利用其提供菜单命令执行相应操作;在执行命令行启动/停止资源前,必然先利用lcdstatus命令确认资源的实际状态。
a)启用资源(In-Service)
能够利用命令:
./perform_action-t<资源标记名>-arestore
将资源标记名所对应的资源在本机上投入效劳(启动)。
若是该资源在命令利用前已经在另一台机械上处于运行状态,那么本命令执行的结果相当于执行了一次手
工切换
!
!
!
若是该资源在命令利用前是处于停止状态(即在备机上执行本命令),那么本命令执行的结果相当于执行了一次手工切换
b)停止资源(out-of-service)
能够利用命令:
./perform_action-t<资源标记名>-aremove
将资源标记名所对应的资源在本机上停止效劳。
若是该资源在命令利用前已经在另一台机械上处于运行状态,那么本命令执行不产生任何结果
注意:
⏹在执行命令行前后,必然先利用lcdstatus命令确认资源的当前状态。
⏹命令停止/启动本地的资源
⏹命令中的<资源标记名>是区分大小写的
⏹必然要等待命令完成,注意命令的输出。
⏹详细用法见在线帮忙手册。
3.2.SQLSERVER保护
运算机系统各类软、硬件故障、用户误操作和歹意破坏是不可幸免的,这些阻碍到数据的正确性乃至造成数据损失、效劳器崩溃等致命后果。
数据库的备份对保证系统的靠得住性具有重要的作用。
下面会依照执行强度对保护任务及其相应的程序进行分类描述,执行强度用不同的时刻距离概念,包括天天、每周、每一个月和每季度,能够成立起良好的保护实务,确保SQLServer数据库性能和平安。
3.2.1.天天的例行保护任务
需要数据库治理员紧密关注的保护任务,最好天天都查看一下,如此能够确保系统的靠得住性、可用性、运行性能和平安。
天天的例行保护任务包括:
1、查看是不是所有被请求的SQLServer效劳都正常运行。
2、查看日常备份日记中成功、警告或失败记录。
3、查看Windows事件日记有无错误记录。
4、查看SQLServer日记有无平安警告记录,例如非法登录。
5、执行完全备份或不同备份。
6、在设置了完全恢复模型或大容量日恢复模型的数据库上执行事务日记备份任务。
7、核实SQLServer作业没有失败。
8、查看所有的数据库文件和事务日记具有适合的磁盘空间大小。
9、至少要监控处置器、内存或磁盘计数器没有显现瓶颈。
3.2.2.每周的例行保护任务
关注程度稍逊于天天的例行保护任务,最好每周进行一次例行查看。
每周的例行保护任务包括:
1、执行完全备份或不同备份。
2、查看以前执行的保护打算报告。
3、查看数据库完整性。
4、若是需要,执行收缩数据库任务。
5、通过从头组织索引任务紧缩聚集和非聚集表和视图。
6、通过从头生成索引任务在数据页和索引页从头组织数据。
7、更新所有效户表和系统表的统计信息
8、清除备份、还原、SQLServer代理作业和保护打算等操作的历史数据。
9、若是需要,手动增加数据库或事务日记文件
10、清除执行保护打算残留下来的文件。
3.2.3.每一个月或每季度的保护任务
有一些保护打算不需要执行得过于频繁,能够每一个月或每一个季度执行一次。
可是请不要以为这些任务不需要天天执行就无足轻重,这些任务能够确保数据库环境的健康,因此不要轻视以下这些保护任务:
1、在测试环境中执行备份还原操作。
2、将历史数据归档。
3、分析搜集的性能统计数据,与基准值相较较。
3、查看并更新保护文档。
4、查看并安装最新的SQLServer补丁和补丁包。
5、若是运行簇、数据库镜像或日记传送,那么监测故障转移。
6、验证备份和还原进程是不是遵循已概念的效劳品级协议。
7、更新SQLServer构建指南。
8、更新SQLServer灾难恢复文档。
9、更新保护打算列表
10、修改治理员口令。
11、修改SQLServer效劳帐户口令。
3.3.WebLogic保护
3.3.1.性能调优
3.3.1.1.设定执行队列的溢出条件
WeblogicServer提供给默许的执行队列或用户自概念的执行队列自概念溢出条件的功能,当知足此溢出条件时,效劳器改变其状态为“警告”状态,而且额外的再分派一些线程去向理在队列中的请求,而达到降低队列长度的目的。
通过启动治理操纵台,在域(如:
mydomain)>效劳器>server实例(如:
myserver)>ExecuteQueue>>配置下面几项:
队列长度:
此值表示执行队列中可容纳的最大请求数,默许值是65536,最后不要手动改变此值。
队列长度阈值百分比:
此值表示溢出条件,在此效劳器指出队列溢出之前能够达到的队列长度大小的百分比。
线程数增加:
当检测到溢出条件时,将增加到执行队列中的线程数量。
若是CPU和内存不是足够的高,尽可能不要改变默许值“0”。
因为Weblogic一旦增加后可不能自动缩减,尽管最终可能确实起到了降低请求的作用,但在以后的运行中将影
响程序的性能。
最大线程数:
为了避免创建过量的线程数量,能够通过设定最大的线程数进行操纵。
在实际的应用处景中,应依照具体情形适当的调整以上参数。
3.3.1.2.设定队列监测行为
WeblogicServer能够自动监测到当一个执行线程变成“阻塞”。
变成“阻塞”状态的执行线程将无法完成当前的工作,也无法再执行新请求。
若是执行队列中的所有执行线程都变成“阻塞”状态,Weblogicserver可能改变状态为“警告”或“严峻”状态。
若是Weblogicserver变成“严峻”状态,能够通过NodeManager来自动关闭此效劳器并从头启动它。
具体请参考:
NodeManagerCapabilities文档。
通过启动治理操纵台,在域(如:
mydomain)>效劳器>server实例(如:
myserver)>配置>调整下可配置下面几项:
阻塞线程最长时刻:
在此效劳器将线程诊断为阻塞线程之前,线程必需持续工作的时刻长度(秒)。
默许情形下,WebLogicServer以为线程在持续工作600秒后成为阻塞线程。
阻塞线程计时器距离:
WebLogicServer按期扫描线程以查看它们是不是已经持续工作了"阻塞线程最长时刻"字段中指定的时刻长度的距离时刻(秒)。
默许情形下,WebLogicServer将现在刻距离设置为600秒。
3.3.1.2.1.尽可能利用本地IO库
WebLogicServer有两套套接字复用器:
Java版和本地库。
采纳小型本地库更有效,尽可能激活EnableNativeIO(默许),现在UNIX默许利用CPUs+1个线程,Window下为双倍CPU。
若是系统不能加载本地库,将会抛出现在只能利用Java套接字复用器,能够调整socketreaders百分比,默以为33%。
该参数能够在ConsoleServerTuningConfiguration配置栏里设置,配置完,从头启动WebLogicServer即可。
3.3.1.2.2.调整默许执行线程数
名称
开发模式
产品模式
推荐个数
ExecuteQueues
默认的执行线程为15
默认的执行线程为25
200
在治理操纵台修改默许执行队列线程数的步骤如下:
⏹若是治理效劳器没有运行,先启动。
⏹访问治理操纵台。
⏹展开左侧面板的Servers节点,显示Server列表。
⏹右击Server,在弹出菜单当选择ViewExecuteQueues,就会在右边面板显示有执行队列的表用来修改。
⏹注意:
你只能修改默许的执行队列或用户概念的执行队列。
⏹在Name列,直接点击默许执行队列名称,显示配置标签用来修改执行队列数。
⏹填下适当的线程数。
⏹点击Apply,保留适才的修改。
⏹重启Server,使新的执行队列设置生效。
3.3.1.3.JDBC调优
3.3.1.3.1.驱动程序类型选择
Oracle提供thin驱动和oci驱动,从性能上来讲,oci驱动强于thin驱动,专门是大数据量的操作。
但在简单的数据库操作中,性能相差不大,随着thin驱动的不断改良,这一弱势将取得弥补。
而thin驱动的移植性明显强于oci驱动。
因此在通常情形下建议利用thin驱动
3.3.1.3.2.调剂连接池初始容量和最大容量
JDBCConnectionPool的调优受制于WebLogicServer线程数的设置和数据库进程数,游标的大小。
通常咱们在一个线程中利用一个连接,因此连接数并非是越多越好,为幸免两边的资源消耗,建议设置连接池的最大值等于或略小于线程数。
同时为了减少新建连接的开销,将最小值和最大值设为一致;值等于WebLogicServer的执行线程数。
3.3.1.3.3.其他配置
尽管JDBCConnectionPool提供了很多高级参数,在开发模式下比较有效,但大部份在生产环境下不需调整。
那个地址建议最好不要设置测试表,同时TestReservedConnections和TestReleasedConnections也无需勾上。
固然若是你的数据库不稳固,时断时续,你就可能需要上述的参数打开
3.3.1.4.WEB调优
3.3.1.4.1.调整WEB应用描述符
WEB应用除代码之外的调优比较简单,仅仅是对一些WEB应用描述符的调整。
第一关闭SessionMonitoringEnabled,仅仅在Cluster环境下设置Session复制(优先利用内存复制),在保证应用正常运行的情形下,设置较短的Session超不时刻。
同
时生产环境下无需查看Jsp和servlet:
JSPPageCheckSecs和ServletReloadCheckSecs均设为-1,关闭JSPKeepGenerated和JSPVerbose对性能也有帮忙。
另外,还能够对jsp进行预编译,有两种方式:
激活precompile选项;利用事前编译,建议采纳后者。
3.3.1.5.其他调优设置
3.3.1.5.1.WebLogic文件描述符大小调整
第一设置WEB主机系统的ulimit参数为unlimited,然后设置WebLogic中文件描述符的大小。
在{WL_HOME}/bea/weblogic/common/bin中打开文件,修改设置文件描述符大小的指令,将默许的:
ulimit–n1024修改成:
ulimit–n8192
3.3.2.保护治理
3.3.2.1.启动weblogicserver
⏹启动治理效劳器:
执行
⏹启动被治理效劳器:
执行servernameadminurl
3.3.2.2.停止weblogicserver
⏹停止被治理效劳器:
执行servername
⏹启动被治理效劳器:
执行
3.3.2.3.登录和退出治理操纵台
⏹治理效劳器启动后能够在阅读器中登录治理操纵台
●输入URL:
,那么利用https访问治理操纵台
⏹在弹出的窗口“ConsoleLogin“中输入用户名和密码登录
3.3.2.4.性能监控
⏹查看性能参数
●登录操纵台后点击Servers-servername-Monitoring-Performance
⏹参数分析
1)IdleThreads&&QueueLength&&Throughout
正常情形下idlethreads>0,queueLength为0,Throughout呈不规那么转变曲线,MemoryUsage呈适度频度的锯齿转变曲线。
一样来讲,关于正常配置的生产环境(线程数50~200),若是idlethreads<10,或呈现不断降低的趋势,就应加以关注;
空闲线程数与队列长度通常有如下关系:
A、若是空闲线程数>0,那么queuelength=0;
B、反之,若是queuelength>0,那么空闲线程数=0;
2)MemoryUsage
MemoryUsage=totalMemory()–freeMemory()
内存利用曲线反映了JVMHeap内存利用的转变情形,能够结合其他三个值的转变情形来判定server工作情形;比较理想的状态是适当频度的各类锯齿转变,
由于JVMGC多采纳“stoptheworld”机制,也确实是垃圾回收时其他处置将暂停,过度频繁的GC将明显降低server工作效率和性能表现。
3.4.Oracle保护
OracleDatabase,又名OracleRDBMS,或简称Oracle。
是的一款。
它是在数据库领域一直处于领先地位的产品。
能够说Oracle数据库系统是目前世界上流行的关系数据库治理系统,系统可移植性好、利用方便、功能强,适用于各类大、中、小、微机环境。
它是一种高效率、靠得住性好的适应高吞吐量的数据库解决方案。
3.4.1.数据库性能优化
Oracle性能治理既是一种艺术,也是一种科学。
从有效角度讲,它能够分为两种类型,主动式和被动式性能治理。
主动式性能治理涉及到特定系统实施初期的设计和开发,包括硬件选择、性能及容量计划,海量存储系统的选择,I-O子系统配置及优化,和如何对不同组件进行定制,以知足Oracle数据库和应用系统的复杂要求。
被动式性能治理涉及到现有环境中不同组件的性能评估、故障排除和Oracle环境的优化。
本文旨在探讨如何进行被动式性能调优,以便为Oracle性能调优提供必要的指导,从而幸免仅仅通过反复尝试的方式进行性能调优,提高Oracle性能治理的效率。
因此ORACLE数据库性能恶化表现大体上都是用户响应时刻比较长,须要用户长时刻的等待。
取得中意的用户响应时刻有两个途径:
一是减少系统效劳时刻,即提高数据库的吞吐量;
二是减少用户等待时刻,即减少用户访问同一数据库资源的冲突率。
关于以上的两个问题,通常咱们采纳以下几个方面来进行改善:
⏹调整效劳器内存分派。
例如,能够依照数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日记缓冲区和共享池的大小;还能够调整程序全局区(PGA区)的大小。
⏹调整硬盘I/O问题,达到I/O负载均衡。
⏹调整运用程序结构设计。
⏹优化调整操作系统参数和利用资源治理器。
⏹SQL优化、诊断latch竞争、Rollback(undo)Segment优化、提升block的效率等等。
3.4.1.1.查看Oracle数据库性能
查看Oracle数据库性能情形,包括:
查看数据库的等待事件,查看死锁及处置,查看cpu、I/O、内存性能,查看是不是有僵死进程,查看行链接/迁移,按期做统计分析,查看缓冲区命中率,查看共享池命中率,查看排序区,查看日记ORACLE产品日常运行保护年度效劳项目缓冲区,总共十个部份。
3.4.1.1.1.查看数据库的等待事件
setpages80
setlines120
coleventfora40
selectsid,event,p1,p2,p3,WAIT_TIME,SECONDS_IN_WAITfromv$session_waitwhereeventnotlike'SQL%'andeventnotlike'rdbms%';
若是数据库长时刻持续显现大量像latchfree,enqueue,bufferbusywaits,dbfilesequentialread,dbfilescatteredread等等待事件时,需要对其进行分析,可能存在问题的语句。
3.4.1.1.2.查看消耗CPU最高的进程
SETLINE240
SETVERIFYOFF
COLUMNSIDFORMAT999
COLUMNPIDFORMAT999
COLUMNS_#FORMAT999
COLUMNUSERNAMEFORMATA9HEADING"ORAUSER"
COLUMNPROGRAMFORMATA29
COLUMNSQLFORMATA60
COLUMNOSNAMEFORMATA9HEADING"OSUSER"
SELECTPID,SID,SPID,USERNAME,OSNAME,#
S_#,,PROGRAM,,,RTRIM(SUBSTR,1,
80))SQLFROMV$PROCESSP,V$SESSIONS,V$SQLAREAAWHERE=AND
=(+)ANDLIKE'%&1%';
3.4.1.1.3.查看碎片程度高的表
SQL>SELECTsegment_nametable_name,COUNT(*)extentsFROMdba_segmentsWHEREownerNOTIN('SYS','SYSTEM')GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECTMAX(COUNT(*))FROMdba_segmentsGROUPBYsegment_name);
3.4.1.1.4.查看表空间的I/O比例
SQL>SELECTNAME,"FILE",PYR,,PYW,PBWFROMV$FILESTATF,DBA_DATA_FILESDF#=ORDERBY;
3.4.1.1.5.查看文件系统的I/O比例
SQL>SELECTSUBSTR#,1,2)"#",SUBSTR,1,30)"NAME",,,,FROMV$DATAFILEA,V$FILESTATBWHERE#=#;
3.4.1.1.6.DiskRead最高的SQL语句的获取
SQL>SELECTSQL_TEXTFROM(SELECT*FROMV$SQLAREAORDERBYDISK_READS)
WHEREROWNUM<=5desc;
3.4.1.1.7.查找前十条性能差的sql
SELECT*FROM(SELECTPARSING_USER_ID
EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,
SQL_TEXTFROMV$SQLAREAORDERBYDISK_READSDESC)
WHEREROWNUM<10;
3.4.1.1.8.等待时刻最多的5个系统等待事件的获取
SELECT*FROM(SELECT*FROMV$SYSTEM_EVENTWHEREEVENTNOTLIKE'SQL%'ORDERBYTOTAL_WAITSDESC)WHEREROWNUM<=5;
3.4.1.1.9.查看运行好久的SQL
COLUMNUSERNAMEFORMATA12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 保护 方案 参考 例如
![提示](https://static.bdocx.com/images/bang_tan.gif)