第一步,打开共享的线程池
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="1000" minSpareThreads="50" maxIdleTime="600000"/>
默认前后是注释<!-- -->掉的,去掉就可以了。其中
name
The name used to reference this pool in other places in server.xml. The name is required and must be unique.
这个是线程池的名字,必须唯一,我们在后面的配置里要用到这个东西
namePrefix
(String) The name prefix for each thread created by the executor. The thread name for an individual thread will be namePrefix+threadNumber
线程的名字前缀,用来标记线程名字的,这样每个线程就用这个前缀加上线程编号了,比如
catalina-exec-1
catalina-exec-2
maxThreads
(int) The max number of active threads in this pool, default is 200
允许的最大线程池里的线程数量,默认是200,大的并发应该设置的高一些,反正只是限制而已,不占用资源
minSpareThreads
(int) The minimum number of threads always kept alive, default is 25
最小的保持活跃的线程数量,默认是25.这个要根据负载情况自行调整了。太小了就影响反应速度,太大了白白占用资源。
maxIdleTime
(int) The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads. Default value is 60000(1 minute)
超过最小活跃线程数量的线程,如果空闲时间超过这个设置后,会被关别。默认是1分钟。
threadPriority
(int) The thread priority for threads in the executor, the default is Thread.NORM_PRIORITY
线程的等级。默认是Thread.NORM_PRIORITY
第二步
在 Connector里指定使用共享线程池
<Connector
port="8009"
protocol="AJP/1.3"
maxThreads="5000"
executor="tomcatThreadPool"
注意,一旦使用了线程池,则其它的线程属性,比如 maxThreads等将被忽略
分享到:
相关推荐
### Tomcat 6.0 共享线程池配置详解 #### 一、引言 在探讨Tomcat 6.0共享线程池配置之前,我们先了解下什么是线程池以及为什么要在Tomcat服务器中配置...希望本文能帮助你在实际项目中更好地利用Tomcat线程池的功能。
此外,Tomcat线程池还提供了一些高级特性,比如线程优先级、超时控制和拒绝策略,这些都可以通过配置参数来调整,以适应不同的应用场景。 对比JDK的ExecutorService,Tomcat的线程池在设计上更注重Web服务器的特定...
1. **最大线程数**:`maxThreads`配置决定Tomcat可以同时处理的请求数量,应根据服务器处理能力适当设置,如`maxThreads="200"`。 2. **最小空闲线程**:`minSpareThreads`确保了即使在低负载时也有一定数量的线程...
如果线程池配置得过小,可能会导致处理请求的延迟增加;如果配置得过大,则可能会造成线程上下文切换的开销,反而降低性能。 因此,设置连接数和线程池时需要根据实际的硬件资源和业务负载来做出调整。一般而言,...
在Linux环境中部署Tomcat6时,常常需要对配置文件进行调整以满足特定需求或优化性能。下面我们将深入探讨如何修改Tomcat6的配置文件以及相关的知识点。 1. **主配置文件**:Tomcat6的主要配置文件是`conf/server....
6. **虚拟主机配置**:如何在同一台机器上配置多个独立的Tomcat实例,或者在单个Tomcat中设置多个虚拟主机,以托管不同的Web应用。 7. **部署Web应用**:演示如何将WAR文件或已解压的目录放入webapps目录,以及如何...
本文将深入探讨Tomcat的配置方法,帮助你更好地理解和管理你的Web应用。 首先,让我们从基础开始,了解Tomcat的目录结构。在解压Tomcat安装包后,你会看到几个主要的目录和文件: 1. **bin**:包含启动和停止...
9. **性能优化**:可以通过调整JVM参数、配置连接池、开启压缩、调整线程池大小等方式优化Tomcat的性能。 10. **故障排查**:当应用出现问题时,查看错误日志、分析堆栈跟踪,或者使用工具如JMX、VisualVM等进行...
6. **性能优化**:Tomcat6可以通过调整线程池大小、JVM堆大小、连接器参数等进行性能优化。例如,增大MaxThreads和MinSpareThreads以处理更多并发请求,设置合理的MaxKeepAliveRequests防止资源耗尽。 7. **故障...
- 同时,每台Tomcat服务器需要配置`workers.properties`文件,定义与Apache服务器的连接器(worker),包括工作线程池、服务器地址和端口等信息。 5. **应用配置** - 应用部署在Tomcat的`webapps`目录下,确保...
本文档将详细介绍 Tomcat 的维护操作、命令、配置文件、调优参数和线程池配置等方面的知识点。 一、Tomcat 优化方法探讨 1. 修改 enableLookups 参数:将 enableLookups 设置为 false,可以避免对每个请求进行反...
6. **配置Tomcat** - 修改`conf/server.xml`文件,可调整端口号、设置虚拟主机、调整内存分配等。 - `webapps`目录是部署应用的地方,将WAR文件或解压后的应用目录放入此目录,Tomcat会自动部署。 7. **安全配置*...
根据应用的负载情况,可能需要调整Tomcat的线程池大小、连接超时时间、内存分配等参数,以提高性能。这些设置可以在`conf/server.xml`的`Connector`元素中进行。 通过以上步骤,你就可以成功地手动配置和部署一个...
安装并配置JMX Remote,通过JMX代理远程监控Tomcat的状态,如内存使用、线程池状态等,及时发现和解决问题。 通过掌握这些配置技巧,开发者可以更有效地管理Tomcat服务器,提高应用性能,确保系统的稳定性和安全性...
2. **线程池配置**:在server.xml中配置`<Connector>`元素,如调整最大线程数、最小线程数,以及超时设置。 3. **内存设置**:通过JVM的启动参数-Xms和-Xmx设定堆内存大小,避免OutOfMemoryError。 4. **启用压缩*...
- `Executor`: Tomcat 7及以上版本支持线程池配置,通过`Executor`可以定制线程池大小,提高并发性能。 3. **Context配置** - `Context`: 定义了Web应用的上下文路径,可以在`server.xml`或`context.xml`中配置,...
【标题】:Tomcat 6在Linux环境下的安装与配置 Tomcat 6是一款流行的开源Java Servlet容器,用于运行Web应用程序,尤其是基于Java的Web应用。Linux作为一款稳定性极强的操作系统,是许多服务器的首选平台。在Linux...
6. **调整session配置**: 对于大型并发系统,session管理也是一个关键点。可以通过减少session的超时时间,使用session复制或分布式session存储(如Redis)来减轻服务器负担。 7. **减少应用程序的响应时间**: 优化...
6. **性能优化**:整合后的系统需要考虑性能优化,比如调整IIS和Tomcat的线程池大小、内存分配、网络缓冲区大小等,以达到最佳运行效率。 7. **故障排查**:当整合遇到问题时,日志文件(如IIS的日志和Tomcat的`...
7. **线程池**:Tomcat6允许自定义线程池设置,以优化性能和并发处理能力。 8. **JNDI资源**:Tomcat支持Java Naming and Directory Interface(JNDI),允许注册和查找资源,如数据源,以便于应用访问。 9. **...