`

Tomcat 5常用优化和配置

    博客分类:
  • J2EE
阅读更多

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java 虚拟机。您可以选择自己的需要选择不同的操作系统和对应的JDK的版本
(只要是符合Sun发布的Java规范的),但我们推荐您使用Sun公司发布的 JDK。确保您所使用的版本是最新的,因为Sun公司和其它一些公司一直在为提高性能而对
java虚拟机做一些升级改进。一些报告显示JDK1.4在性能上比JDK1.3提高了将近10%到20%。


可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数
用来设置虚拟机使用内存的大小。

参数

描述


-Xms

JVM初始化堆的大小


-Xmx

JVM堆的最大值


这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用程序在大负载的
情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,
虚拟机就必须重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。
一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,
并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。


Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。


Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:


JAVA_OPTS="-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】"


需要把这个两个参数值调大。例如:


JAVA_OPTS="-Xms256m -Xmx512m"


表示初始化内存为256MB,可以使用的最大内存为512MB。


另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,
应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,
完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,
要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。


如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过 3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,
检查垃圾收集的详细输出,研究 垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,
因为分配可以并行进行,而垃圾收集不是并行的。


Tomcat 5常用优化和配置


1、JDK内存优化:

Tomcat默认可以使用的内存为128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:

JAVA_OPTS="-Xms[初始化内存大小] -Xmx[可以使用的最大内存]

一般说来,你应该使用物理内存的 80% 作为堆大小。


2、连接器优化:

在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:

maxThreads:

Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。

acceptCount:

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。

minSpareThreads:

Tomcat初始化时创建的线程数。默认值4。

maxSpareThreads:

一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。

enableLookups:

是否反查域名,默认值为true。为了提高处理能力,应设置为false

connnectionTimeout:

网络连接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

maxKeepAliveRequests:

保持请求数量,默认值100。

bufferSize:

输入流缓冲大小,默认值2048 bytes。

compression:

压缩传输,取值on/off/force,默认值off。

其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。


3、tomcat中如何禁止和允许列目录下的文件

在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下:

<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>

4、tomcat中如何禁止和允许主机或IP地址访问
<Host name="localhost" ...>
  ...
  <Valve className="org.apache.catalina.valves.RemoteHostValve"
         allow="*.mycompany.com,www.yourcompany.com"/>
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         deny="192.168.1.*"/>
  ...
</Host>

 

这是我们服务器的配置,具体文件不能给你,因为涉及到公司机密,所以那一行我给你,我拷贝下来了

JAVA_OPTS="-server -Xms512m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=192m -XX:SurvivorRatio=8

分享到:
评论
1 楼 mercyblitz 2010-06-24  


引用
这是我们服务器的配置,具体文件不能给你,因为涉及到公司机密,所以那一行我给你,我拷贝下来了


是不是买了RT Java 的License?

引用
JAVA_OPTS="-server -Xms512m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=192m -XX:SurvivorRatio=8


贵公司项目内存管理得这么好,还是只是一个小应用?

相关推荐

    tomcat 启动优化和并发并发优化配置.rar

    本文将深入探讨Tomcat的启动优化和并发优化配置,帮助开发者们更好地理解并实践这些关键设置,以实现更高效、更稳定的运行环境。 一、Tomcat启动优化 1. **JVM参数调整**:启动Tomcat时,合理设置JVM参数可以显著...

    tomcat常用配置信息详解

    本资料详细解析了Tomcat的常用配置信息,对于Java开发面试者和Web项目开发初学者来说,了解并掌握这些知识是至关重要的。 1. **Tomcat基础配置** - `server.xml`: 这是Tomcat的核心配置文件,包含了服务器的全局...

    tomcat5.0和tomcat5.5.12配置连接池的异同

    Tomcat内置了两种常用的连接池实现:Catalina JDBC Pool(从Tomcat 7开始默认使用)和Apache Commons DBCP(在Tomcat 5.x和6.x版本中)。在配置连接池时,我们需要定义数据源、指定数据库驱动、设置连接参数等。 **...

    Tomcat常用版本以及最新版本 评分:

    Apache Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用程序。它是基于Sun Microsystems的Java Servlet和JavaServer Pages(JSP)技术的。Tomcat以其轻量级、易用性和稳定性著称,是开发和测试Java...

    tomcat 常用配置

    《Tomcat常用配置详解》 Tomcat作为一款广泛使用的开源Java Servlet容器,是Apache软件基金会下的Jakarta项目的一部分。它提供了对Servlet和JSP规范的支持,使得开发者能够轻松地部署和运行Java Web应用。本文将...

    Tomcat性能监控和优化.zip

    综上所述,"Tomcat性能监控和优化.zip"这个资料将详细讲解如何通过监控、内存管理、线程池优化、部署配置调整、文件I/O优化以及日志管理等手段,全面提升Tomcat服务器的性能,以满足高并发、低延迟的业务需求。...

    tomcat常用功能的配置

    ### Tomcat常用功能的配置详解 #### 一、修改Tomcat的JDK目录 在运行Tomcat时,我们需要指定一个JDK版本。...以上就是关于Tomcat常用功能配置的一些详细介绍,希望能帮助大家更好地管理和部署基于Tomcat的应用程序。

    tomcat集群配置

    同时,使用诸如JMeter、VisualVM等工具进行性能测试和监控,可以更好地优化集群配置。 综上所述,Tomcat集群配置涉及到多个层面,包括负载均衡策略、会话管理、故障处理等。正确配置和维护Tomcat集群,能显著提升...

    tomcat6.0安装配置

    Tomcat6.0是Apache软件基金会的Jakarta项目中的一个核心项目,是一款开源的、免费的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,是开发和部署Java Web应用程序的常用工具。本篇文章将...

    MySQL Tomcat Apache优化

    ### MySQL+Tomcat+Apache优化 #### 1. MySQL优化: ##### 1.1 简介: ...综上所述,通过对MySQL、Tomcat和Apache的合理配置和优化,可以显著提高系统的性能和稳定性,为用户提供更流畅的使用体验。

    tomcat常用配置

    **Tomcat 常用配置详解** Tomcat是一款广泛应用的开源Java Servlet容器,它负责运行Web应用程序,包括Servlet和JSP。本篇文章将深入探讨Tomcat的两个核心配置文件——`server.xml`和`context.xml`,以及它们如何...

    Tomcat解析与性能优化.pdf

    - **常用配置目录**:`conf` 目录是 Tomcat 常用的配置目录,其中最重要的配置文件为 `server.xml` 和 `web.xml`。 - **server.xml 配置说明** - `&lt;Server&gt;` 元素:配置整个 Tomcat 服务器的基本信息,包括监听...

    tomcat在linux下的详细配置

    Tomcat常用的连接池工具有Apache Commons DBCP或HikariCP。在`$CATALINA_HOME/conf/server.xml`中,添加或修改`&lt;Resource&gt;`标签来配置连接池。例如,使用HikariCP,配置可能如下: ```xml type=...

    apache+tomcat配置文件

    Apache和Tomcat是两种常用的Web服务器,它们在IT行业中扮演着重要的角色。Apache主要负责静态内容的处理,而Tomcat则是用于运行Java Servlet和JavaServer Pages(JSP)的应用服务器。将Apache与Tomcat集成可以实现...

    解决tomcat内存溢出的配置方法

    在IT行业中,Tomcat作为一款广泛应用...总的来说,解决Tomcat内存溢出的关键在于理解和配置JVM内存管理,以及持续监控和优化应用程序。通过上述步骤,我们可以提升Tomcat的服务稳定性,降低因内存溢出导致的系统故障。

    tomcat发布和apach,

    - 修改Tomcat的server.xml文件,配置Connector,以支持AJP协议,这是Apache与Tomcat通信的常用协议。 3. **ISAPI_redirect.dll集成**: - 在Apache的modules目录下,将isapi_redirect.dll文件放入,这个文件负责...

    【高并发】高并发环境下如何优化Tomcat性能?看完我懂了!

    Tomcat作为最常用的Java Web服务器,随着并发量越来越高,Tomcat的性能会急剧下降,那有没有什么方法来优化Tomcat在高并发环境下的性能呢? Tomcat运行模式 Tomcat的运行模式有3种。 1.bio模式 默认的模式,性能非常...

    轻松配置linux Tomcat集群 PDF

    总结,配置Linux上的Tomcat集群是一项涉及多方面知识的任务,涵盖操作系统管理、Java环境、网络配置、负载均衡、故障恢复和性能优化等多个领域。通过上述步骤,你可以构建一个高可用且可扩展的Tomcat集群,满足大型...

    tomcat7.62win和linux版本

    标题中的“tomcat7.62...以上就是关于“tomcat7.62win和linux版本”的主要知识点,涵盖了安装、配置、使用以及优化等多个方面。对于开发和运维人员来说,理解并掌握这些内容对高效地运行和管理Tomcat服务器至关重要。

Global site tag (gtag.js) - Google Analytics