以下方法是Tomcat性能自身调整的最佳方式。
1.禁用DNS查询
当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值:
Tomcat4
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="80" minProcessors="5" maxProcessors="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />
Tomcat5
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/>
除非你需要连接到站点的每个HTTP客户端的机器名,否则我们建议在生产环境上关闭DNS查询功能。可以通过Tomcat以外的方式来获取机器名。这样不仅节省了网络带宽、查询时间和内存,而且更小的流量会使日志数据也会变得更少,显而易见也节省了硬盘空间。对流量较小的站点来说禁用DNS查询可能没有大流量站点的效果明显,但是此举仍不失为一良策。谁又见到一个低流量的网站一夜之间就流量大增呢?
2.调整线程数
另外一个可通过应用程序的连接器(Connector)进行性能控制的的参数是创建的处理请求的线程数。Tomcat使用线程池加速响应速度来处理请求。在Java中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、能够独立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出CPU最大利用率的高效程序,使空闲时间保持最低,从而接受更多的请求。
Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。这些值在安装后就已经设定为默认值并且是足够使用的,但是随着站点的扩容而改大这些值。minProcessors服务器启动时创建的处理请求的线程数应该足够处理一个小量的负载。也就是说,如果一天内每秒仅发生5次单击事件,并且每个请求任务处理需要1秒钟,那么预先设置线程数为5就足够了。但在你的站点访问量较大时就需要设置更大的线程数,指定为参数maxProcessors的值。maxProcessors的值也是有上限的,应防止流量不可控制(或者恶意的服务攻击),从而导致超出了虚拟机使用内存的大小。如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
在Tomcat5对这些参数进行了调整,请看下表:
属性名
描述
maxThreads
Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
acceptCount
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout
网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads
Tomcat初始化时创建的线程数。
maxSpareThreads
一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
分享到:
相关推荐
以下是一个详细的步骤指南,涵盖了从下载到配置的全过程,以及一些常用的设置,包括环境变量和内存配置。 1. **下载Tomcat**: 首先,访问Apache官方网站(http://tomcat.apache.org/)下载Tomcat 8的最新稳定版本...
本篇文章将详细介绍如何配置Tomcat实现热部署,并提及一种常用的热部署工具——JRebel。 首先,我们来理解什么是热部署。在传统的开发流程中,每当代码发生变化,都需要停止服务器,部署新的应用,然后重新启动...
Apache和Tomcat是两种常用的Web服务器,它们在IT行业中扮演着重要的角色。Apache主要负责静态内容的处理,而Tomcat则是用于运行Java Servlet和JavaServer Pages(JSP)的应用服务器。将Apache与Tomcat集成可以实现...
总结,"apache+tomcat集群配置文件和文档说明"涵盖了Apache和Tomcat的集群配置,涉及Apache的负载均衡配置、Tomcat的session复制和集群通信设置,以及Java环境的准备。通过这些配置,可以构建一个高可用的Web服务...
- 在Tomcat的conf目录下,server.xml文件是Tomcat的核心配置文件之一,用于配置虚拟主机、连接器、服务器、服务等。 - 当用户在Eclipse中创建Web项目时,server.xml可能会被自动更新,增加一个Context元素来指定...
jdk5.5+tomcat5.5 环境配置是 Java 开发中常用的服务器配置,下面将详细介绍其配置过程。 一、下载和安装 jdk 和 tomcat 首先,需要下载最新的 jdk 和 tomcat 软件包。目前,最新的 jdk 版本为 1.5,tomcat 版本为...
本文将详细介绍如何在Tomcat环境下配置Hibernate,并通过示例代码来具体说明配置过程中的关键点。 #### 二、配置流程概述 1. **环境搭建**:首先确保已经安装了Tomcat服务器和相应的数据库(如SQL Server)。 2. *...
在IT行业中,开发Java Web应用时,Tomcat服务器是一个常用的选择,而Eclipse作为流行的集成开发环境(IDE),能够提供强大的支持。本文将详细介绍如何在Eclipse中手动安装Tomcat8插件,并探讨其使用方法。 首先,让...
#### 四、配置说明 - **`proxy_pass`**:指定代理的目标 URL,这里是本地运行的 Tomcat 服务。 - **`proxy_set_header Host $host`**:设置 `Host` 头部字段,其值为客户端请求的主机名。 - **`proxy_set_header X-...
根据实际的系统环境和应用需求,参照这些说明进行适当的修改和调整,可以有效地防止Tomcat内存溢出问题的发生。在进行调整后,记得重启Tomcat以使配置生效,并通过观察系统运行状况和日志,验证配置的有效性。 总的...
3.1.2 **Tomcat常用配置文件** 主要配置文件有server.xml、web.xml、context.xml等。server.xml定义了服务器的整体配置,web.xml定义全局Web应用的默认配置,context.xml则用于配置特定Web应用。 3.1.3 **Tomcat...
【描述】:“Tomcat8软件下载,压缩包下载,最直接最常用的tomcat安装方式,下载直接使用,方便快捷” Tomcat8.5.38是最直接和常用的安装方式,因为它是以压缩包的形式提供,无需复杂的安装过程,只需解压即用。...
- 修改Tomcat的server.xml文件,配置Connector,以支持AJP协议,这是Apache与Tomcat通信的常用协议。 3. **ISAPI_redirect.dll集成**: - 在Apache的modules目录下,将isapi_redirect.dll文件放入,这个文件负责...
在Windows操作系统中,为了确保web服务的稳定性和连续性,常常需要将常用的服务如Nginx和Tomcat配置为自动启动。...同时,提供的`设置说明.txt`文件应包含更详细的指导,帮助你在实际操作中顺利完成配置。
5. `conf`目录:包含Tomcat的配置文件,如`server.xml`定义服务器的全局设置,`web.xml`是默认的Web应用部署描述符,还有其他如`logging.properties`等用于日志管理和`context.xml`用于特定上下文的配置。...
Tomcat则是Apache软件基金会的一个开源项目,它实现了一个Servlet容器,以提供对Servlet和JavaServer Pages技术的支持,是开发和部署Web应用程序的常用服务器之一。将两者集成,可以实现在NetBeans IDE中直接运行、...
5. **验证配置**:启动新建的Tomcat服务器,如果MyEclipse能够成功启动并管理Tomcat,说明配置成功。可以通过在浏览器中访问`http://localhost:8080`来检查Tomcat是否正常工作。 6. **关联项目**:将你的Java Web...
总的来说,Tomcat7和Tomcat6是Java Web开发中常用的服务器,32位和64位版本的选择取决于具体需求。初学者通过使用纯净版的Tomcat,可以更好地专注于学习Java Web开发的核心概念,逐步熟悉服务器的管理和应用部署。
在部署和配置Tomcat时,指定JDK路径有以下几个重要原因: 1. **版本兼容性**:不同的应用程序可能依赖于不同版本的JDK。 2. **性能优化**:某些版本的JDK可能在特定场景下表现出更好的性能。 3. **安全考虑**:使用...