- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Tomcat及Oracle优化
Tomcat及Oracle优化
Tomcat性能调优方案
1. 操作系统调优:尽可能增大可使用的内存容量,提高CPU的频率,保证文件系统的读写速率(IO);
2. Java虚拟机调优:尽可能选择Sun公司的次高版本的JVM,即JDK;
3. Apache(httpd.conf)+JK(mod_jk.conf)+Tomcat集成:如果项目中有大量静态页面HTML,图片,并有比较大的访问量的话,可以让Apache但当Web服务器来处理HTTP请求,而让Tomcat处理商业逻辑(JSP);
4. Apache和Tomcat的集群:
5. Tomcat自身优化:
5.1 JVM参数优化:catalina.sh/bak里面的JAVA_OPTS里面配置内存大小 -Xms512 -Xmx1024;
5.2 禁用DNS查询:修改server.xml文件中的enableLookups参数值为FALSE;
5.3 调整线程数:maxThreads,acceptCount,connnectionTimeout,minSpareThreads,maxSpareThreads;
6. APR库使用:Tomcat中使用APR库,其实就是在Tomcat中使用JNI的方式来读取文件以及进行网络传输;
如果想要Tomcat达到最优的效果,首先要争取使得操作系统以及网络资源达到最优,并且最好使用高版本的JDK。对于有大量静态页面的系统,采用Apache集成Tomcat的方式,把静态页面交由Apache处理,动态部分交由Tomcat处理,能极大解放Tomcat的处理能力。使用ARP库也能极大的提高Tomcat对静态文件的处理能力。对于并发要求较高的系统,采用Apache加Tomcat集群的方式,将负载分别分担到多个Tomcat上,能很大的提高系统的性能,充分利用硬件资源。同时需要对Tomcat自身进行优化,包括增大内存、调节并发线程数等。
Oracle性能优化
1. 分区,把数据量比较大的数据表的记录分离到若干不同的表空间上,使数据在物理上分开,便于维护、备份、恢复、事物及查询性能。
1.1建立分区表:
Create table Employee
(
EmpNo varchar2(10) primary key,
Name varchar2(30),
DeptNo Number(2)
)
表Employee依据DeptNo列进行分区
Partition by range(DeptNo)
(
partition PART1 values less than (11) tablespace PART1_TS,
partition PART2 values less than(21) tablespace PART2_TS,
partition PART3 valuse less than(31) tablespace PART3_TS
partition PART4 values less than(MAXVALUE) tablespace PART4_TS
);
1.2分区索引
Create index Employee_DeptNo on Employee (DeptNo)local
(
partition PART1 tablespace PART1_NDX_TS,
partition PART2 tablespace PART2_NDX_TS,
partition PART3 tablespace PART3_NDX_TS,
partition PART4 tablespace PART4_NDX_TS,
);
1.3分区管理
根据实际需要,还可以使用Alter table命令来增加、删除、交换、移动、修改、重命名、划分、截短一个已存在分区的结构。
2 重建索引
如果表中记录频繁地被删除或插入,尽管表中的记录总量保持不变,索引空间的使用量会不断增加。需要使用Alter index rebuild命令。可以做一个定期运行的批
select index_name,table_name,distinct_keys,num_rows from dba_indexes where tablespace_name=BPSFC and owner=BPSFCUSR and distinct_keys!=num_rows and num_rows1000 order by table_name
percent = rs.getFloat(distinct_keys) / rs.getLong(num_rows) * 100;
if (percent 10)
{
sql = alter index + rs.ge
文档评论(0)