`
lelong
  • 浏览: 552382 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

tomcat 调整线程数

阅读更多

调整线程数

  另外一个可通过应用程序的连接器(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线程。

 

enableLookups 是否反查域名,默认值为true。为了提高处理能力,应设置为false
maxKeepAliveRequests 保持请求数量,默认值100。
bufferSize 输入流缓冲大小,默认值2048 bytes
compression 压缩传输,取值on/off/force,默认值off

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

 

set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1280m -XX:MaxNewSize=256m -XX:MaxPermSize=256m


  最好的方式是多设置几次并且进行测试,观察响应时间和内存使用情况。在不同的机器、操作系统或虚拟机组合的情况下可能会不同,而且并不是所有人的web站点的流量都是一样的,因此没有一刀切的方案来确定线程数的值。

分享到:
评论

相关推荐

    调整Tomcat的并发线程

    在调整Tomcat的并发线程数以提高服务器处理并发请求数量的过程中,涉及到多个关键配置,其中最为重要的是server.xml文件的调整。Tomcat的并发能力主要受到maxThreads参数的控制,这是一个设定最大并发处理线程数的...

    tomcat中多线程对于servlet处理的4篇资料

    `maxThreads`定义了最大并发线程数,当所有线程都在忙时,新来的请求将被阻塞,直到有线程可用。`minSpareThreads`则指定了空闲线程的最小数量,确保了足够的线程资源随时待命。 3. **线程与Servlet的关系** 每个...

    59-Spring Boot内嵌Tomcat配置1

    除了协议外,我们还可以调整其他关键配置,如最大线程数、最小空闲线程数、超时时间等。这些参数能够影响服务器处理并发请求的能力和响应时间。例如,增加最大线程数可以处理更多的并发请求,但也会占用更多内存。...

    Tomcat服务器线程控制配置以及JMeter进行WebService测试

    - **最大线程数配置**:在`conf/server.xml`中,可以通过`<Connector>`标签的`maxThreads`属性设定Tomcat的最大线程数,以控制并发处理请求的能力。`minSpareThreads`和`maxSpareThreads`分别定义了最小和最大空闲...

    tomcat配置 连接数(优化)

    标题中的“Tomcat配置连接数(优化)”指的是在Apache Tomcat服务器中调整与处理并发请求相关的设置,以提升服务器的性能和稳定性。这通常涉及到调整最大连接数、线程池大小、超时时间等核心参数。在高并发场景下,...

    基于tomcat的连接数与线程池详解

    连接数决定了Tomcat可以接受多少并发连接,而线程池中的线程数则影响到Tomcat处理请求的吞吐量。线程池由Acceptor和Worker两部分组成,Acceptor负责接收连接,而Worker负责处理这些连接上的请求。在BIO模式下,如果...

    Tomcat性能调整

    在Tomcat 5中,这些参数变为`maxThreads`,用于设置最大线程数,以及`minSpareThreads`和`maxSpareThreads`,分别代表初始化创建的线程数和允许的最大空闲线程数。 例如,如果你的应用在正常情况下每秒处理5个请求...

    JBOSS\Tomcat最大连接数配置和jvm内存配置.docx

    `maxThreads`参数定义了服务器可以同时处理的最大线程数,即并发请求的最大数目。`acceptCount`参数则表示当达到`maxThreads`时,服务器还能接受并放入队列等待处理的连接数。适当调整这两个参数可以有效缓解服务器...

    Tomcat性能调整.pdf

    - `maxThreads`:设置最大线程数。 - `acceptCount`:当所有可能的线程都在使用时,等待队列的最大长度。 - `connectionTimeout`:空闲连接的超时时间。 2. **启用压缩**: - 对常见的文件类型(如HTML、CSS、...

    Tomcat优化相关问题.pdf

    三、调整线程数 通过应用程序的连接器(Connector)进行性能控制的参数是创建的处理请求的线程数。Tomcat 使用线程池加速响应速度来处理请求。在 Java 中,线程是程序运行时的路径,是在一个程序中与其它控制线程...

    tomcat 参数优化调整

    在`server.xml`配置文件中,`maxThreads`定义了Tomcat可以创建的最大线程数,用于处理请求。适当增加此值可以提高并发处理能力,但也要注意过多的线程会消耗更多内存。`acceptCount`参数则表示当所有线程都在处理...

    JVM-Tomcat线程-数据库连接池设置建议.docx

    建议设置为最大线程数的70%-80%,即 `maxThreads * 0.7-0.8`。 - **`maxConnections`**:最大连接数。建议设置为CPU核心数乘以10再乘以200,即 `maxThreads * 200`。 - **`acceptCount`**:指定当所有可以使用的...

    优化提高tomcat性能.Tomcat参数调优

    - `minSpareThreads`和`maxSpareThreads`: 分别是最低和最高备用线程数,确保有足够的线程处理请求,但又不造成过多空闲线程。 - `acceptCount`: 当所有工作线程都被占用时,此参数定义了可挂起的请求的最大数量,...

    Tomcat协同配置参考

    Apache的`httpd.conf`配置文件中,可以通过`<IfModule worker.c>`块来调整线程和进程参数。`ThreadLimit`和`ServerLimit`控制最大线程和服务器实例数,`StartServers`定义启动时的服务器实例数,`MaxClients`设定可...

    tomcat 系列tomcat 系列

    2. 线程池配置:调整`Executor`元素的参数,如最大线程数、空闲线程存活时间等。 3. 使用NIO或APR Connector:提高并发性能。 4. 缓存配置:如开启目录索引缓存、静态资源缓存等。 六、故障排查与监控 1. 查看日志...

    tomcat发布javaweb项目,以及tomcat的配置

    本篇将深入探讨如何在Tomcat上发布JavaWeb项目,以及如何进行Tomcat的配置优化,包括去除项目名称和端口号、调整内存配置和设置并发线程数。 【去除项目名称和端口号】 在默认情况下,访问JavaWeb项目时URL中会...

    Tomcat使用维护手册

    2. 配置 minProcessors 和 maxProcessors 参数:minProcessors 设置为正常请求时候的线程数,maxProcessors 设置为两倍于并发的期望请求数,能够提高服务器性能。 3. 设置启动脚本的 JVM 参数:通过配置 JVM 的参数...

    Tomcat 修改内存大小

    Tomcat 是一个流行的基于 Java 的 Web 应用服务器,为了确保 Tomcat 的稳定运行,需要根据实际情况调整 Tomcat 的内存大小。下面将介绍如何修改 Tomcat 的内存大小,在 Windows 和 Linux 两个操作系统下。 一、安装...

    Tomcat7性能优化

    这里定义了一个名为`tomcatThreadPool`的线程池,最大线程数设置为150个,最小空闲线程数为4个。 ##### 3.5 Connector优化 Connector组件负责处理客户端的HTTP连接请求,并将请求转发给相应的Servlet容器进行处理...

Global site tag (gtag.js) - Google Analytics