Tomcat +igrp 性能优化及部署时参数调整
通过前段时间的压力测试及负载疲劳测试,现对系统部署时归纳的经验及注意事项做如下总结:
1) jdk 可以使用1.4或1.5版本,都没有问题,推荐使用1.5
2) tomcat 的jvm建议调整到1024M 即在tomcat/bin/catalina.bat文件头部添加
set JAVA_OPTS=-Xms1024m -Xmx1024m
默认tomcat 最大为64M
IGRP在200并发用户的情况下基本上需要300M以上的jvm支持,所以必须调整,否则并发或负载时都会有问题。
3)调整tomcat的server.xml 其中的参数配置,例
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK" />
将其中的maxThreads="150" 修改为maxThreads="1500" ,即可以最大承载1500个并发事务。一个用户基本上请求一次服务需要二个线程进行支持(一个是request,一个是response)。这样IGRP就可以承载最高750个用户的完全并发。maxThreads默认tomcat配置为200个。
4)不要遗漏URIEncoding="GBK",能使页面url传递中文参数时保证正确。
5)如果使用了dipper2的链接池,调整igrp的 global-config.xml 将数据库链接的max值修改成500,(需要将oracle配置里的processor值相应改大(最好修改为1000以上),否则无效),即igrp并发时链接池可以承载500个数据库链接,这样配置基本上可以保证200个用户同时并发时能从数据库链接池里得到数据库链接。
6)如果使用tomcat自带的dbcp数据库链接池, tomcat5.0配置如下
先修改server.xml,增加如下内容,在 <GlobalNamingResources>标签里增加
<Resource name="CarmotDS" type="javax.sql.DataSource"/>
<ResourceParams name="CarmotDS">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.1.12:1521:igrp</value>
</parameter>
<parameter>
<name>password</name>
<value>carmot</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>500</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>9000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>carmot_ystest</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
</ResourceParams>
maxActive 是最大激活连接数,这里取值为500,表示同时最多有500个数据库连接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可取值 9000,表示9秒后超时。
修改conf\web.xml,增加如下内容
<resource-ref>
<description>DB Connection</description>
<res-ref-name>CarmotDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
然后修改 conf\Catalina\localhost\ROOT.xml,在context标签里增加如下内容
<ResourceLink global="CarmotDS" name="CarmotDS" type="javax.sql.DataSource"/>
Tomcat 5.5以上版本可以直接修改conf\Catalina\localhost\ROOT.xml,,在context标签里增加如下内容
<Resource name=" CarmotDS " auth="Container" type="javax.sql.DataSource"
maxActive="500" maxIdle="20" maxWait="9000"
driverClassName="oracle.jdbc.driver.OracleDriver"
username="carmot_ystest" password="carmot"
url="jdbc:oracle:thin:@192.168.1.12:1521:igrp"
defaultAutoCommit="true" removeAbandoned="true"
removeAbandonedTimeout="60" logAbandoned="true"/>
removeAbandonedTimeout=60,表示60秒没有使用连接会自己回收资源.
修改global-config.xml
<datasource>java:comp/env/CarmotDS</datasource>
7) Tomcat管理,必须安装admin(可以到http://tomcat.apache.org/download-55.cgi 下载Administration Web Application模块)或manager模块
Tomcat5.5版本还需先修改conf/ tomcat-users.xml 文件
增加如下内容
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
配置链接池和管理tomcat用户等可以使用admin模块
http://localhost:8080/admin/index.jsp
察看tomcat状态或部署应用可以使用manager模块 (内存,线程等监控)
http://localhost:8080/manager/status
8)日志
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="access_log." suffix=".log" pattern="combined" fileDateFormat="yyyy-MM-dd" resolveHosts="false"/>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jeanjeanfang/archive/2009/10/27/4732392.aspx
分享到:
相关推荐
【标题】:“Tomcat性能优化”意味着我们正在探讨如何提升Apache Tomcat服务器的运行效率,使其在处理Web应用时能够更快、更稳定地工作。Tomcat是一个开源的Java Servlet容器,广泛用于部署Java Web应用程序。 ...
在进行Tomcat优化时,需要从多个维度入手,包括但不限于配置优化、部署与测试、参数调整、源码理解以及JVM参数调整等。 配置优化是Tomcat性能优化的第一步,也是最基础的一步。首先,应该选择合适的Tomcat版本进行...
本文将围绕“Tomcat7优化与性能调优”的主题,深入探讨优化策略,包括但不限于配置调整、启动模式选择、线程池设置、JVM参数调整等方面。 #### 二、服务器资源考量 服务器所能提供的CPU、内存、硬盘等硬件资源对...
### Tomcat7 性能优化详解 #### 一、引言 随着互联网应用的日益增长,网站并发访问的需求越来越高,而作为一款广泛使用的开源Web容器,Apache Tomcat 的性能优化显得尤为重要。本文将针对Tomcat7进行一系列的性能...
Tomcat性能调优是一个涉及多方面技术的复杂过程,主要包括对外部环境的调整和Tomcat自身配置的优化。在实际应用中,我们需要通过压力测试来评估系统的性能表现,然后根据测试结果进行必要的优化。 **1. 外部环境...
本文将深入探讨Tomcat的部署过程和性能优化策略。 首先,我们要了解Java Development Kit(JDK)在Tomcat中的角色。JDK是Java程序的基础,它提供了运行和开发Java应用程序所需的环境。Tomcat需要JDK来编译和执行...
总结,Tomcat性能优化是一个全方位、多层次的过程,涉及到JVM配置、线程池、连接器、Web应用配置、缓存策略、热部署与监控等多个方面。通过对每个环节的细致调整,可以显著提升Tomcat的运行效率,为用户提供更流畅的...
这篇文章将深入探讨Tomcat调优与JVM参数优化的各个方面,帮助你提升服务器性能。 首先,我们来了解一下Tomcat调优的基础知识。Tomcat调优主要包括以下几个方面: 1. **线程池配置**:调整`maxThreads`和`...
本资料集围绕四个核心主题展开:Redis集群、JVM调优、MySQL 5.6性能优化和Tomcat 7的优化,旨在帮助开发者和运维人员更好地理解和实践这些关键领域的优化策略。 首先,Redis是一个高性能的键值存储系统,常用于缓存...
Apache Tomcat性能调整是优化应用程序运行效率的关键环节,特别是在高并发和大数据量的场景下。以下是一些关于Tomcat性能调整的重要知识点: 1. **移除不必要的应用**:默认安装的Tomcat会包含一些示例应用,如ROOT...
### Tomcat性能优化方案 在IT领域中,Tomcat作为一款广泛使用的开源Servlet容器,其性能直接影响着基于Java的应用程序的运行效率与用户体验。本文将详细介绍如何通过一系列配置与优化措施来提升Tomcat服务器的整体...
【标题】:“Tomcat 8.5.56 X64 NIO2模式性能优化版+垃圾处理机制.zip”指的是一个特别针对Windows x64平台优化的Tomcat 8.5.56版本,该版本集成了NIO2(非阻塞I/O)模式,并对垃圾收集(Garbage Collection, GC)...
### Tomcat性能优化篇知识点详解 #### 一、Tomcat启动流程分析 1. **ContainerBase.startInternal()方法** - `ContainerBase`是Tomcat中容器类的基础类,负责处理容器的生命周期管理,如启动、停止等操作。 - 在...
其次,内存管理是Tomcat性能优化的关键。Java应用的内存配置包括堆大小(-Xms和-Xmx)、新生代大小(-XX:NewSize和-XX:MaxNewSize)、持久代大小(-XX:SurvivorRatio)等参数,合理调整这些参数可以避免...
总结而言,该文档覆盖了Tomcat服务器优化、JVM参数调整、字节码级别的优化以及代码层面的优化等多个方面,旨在通过一系列配置和操作,提升Java应用以及Web服务器的性能和效率。同时,也提到了性能测试的重要性和在...
1. 参数设置:优化JVM内存分配是提升Tomcat性能的关键。通常需要调整的参数包括`-Xms`(初始堆大小)、`-Xmx`(最大堆大小)、`-XX:NewRatio`(新生代与老年代的比例)、`-XX:SurvivorRatio`(年轻代中Eden区与...
《TOMCAT架构服务器优化指南》是一本深入探讨TOMCAT服务器优化的专业书籍,由刘光瑞撰写,并由人民邮电出版社出版。该书聚焦于如何提升TOMCAT服务器的性能,确保系统的稳定性和高效运行。TOMCAT作为一款广泛应用的...
**Tomcat安装版及部署方法** Tomcat是一款广泛使用的开源Java应用服务器,主要负责运行基于Java Servlet和JavaServer Pages...记得时刻关注官方更新,保持Tomcat和JDK版本的同步,以获取最新的安全修复和性能优化。