`
dengqsintyt
  • 浏览: 291013 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

tomcat并发优化配置

 
阅读更多

        在web应用开发中,提升系统性能和并发,除了负载均衡之外,还有就是通过调整参数来优化,以tomcat为例,其他web工具大同小异。

 

         1.让Tomcat6 中支持Java语言的特性 NIO( New I/O)

          NIO俗称“非阻塞通讯”,单从名字上看,就给人一种“快”的感觉。

         使用NIO在服务器端会有更好的性能,加强服务器端对并发处理的性能。  请注意:很抱歉,在tomcat6在默认的配置选项中是没有把NIO功能打开。所以很多正在使用Tomcat6的朋友们本以为能快活的使用上NIO。 

          而NIO则是使用单线程(单个CPU)或者只使用少量的多线程(多CPU)来接受Socket,而由线程池来处理堵塞在pipe或者队列里的请求.这样的话,只要OS可以接受TCP的连接,web服务器就可以处理该请求。大大提高了web服务器的可伸缩性。

          修改配置如下:文件为server.xml

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"  
               connectionTimeout="20000"  
               redirectPort="8443" />

         重启之后,进行测试,被打开nio配置,启动时的信息,如下:    

2014-2-1 13:01:01 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
信息: Using a shared selector for servlet write/read 
2014-2-1 13:01:01 org.apache.coyote.http11.Http11NioProtocol init 
信息: Initializing Coyote HTTP/1.1 on http-8080 
这样才能让你真正体验到Tomcat6下NIO给你的系统带来的快感。

         

           2.修改Tomcat 6默认的maxThread 

            打开server.xml可以看到如下配置:             

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

   官方文档默认说支持200但似乎超过40就不行了

   修改方法 :     

<Connector port="8080" protocol="HTTP/1.1"   
               connectionTimeout="20000"   
               redirectPort="8443" maxThreads="150"/>

             另外:              

在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有: 
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false 
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。

    

           

            3.大量的并发也意味着大量的服务器资源,所以修改一下tomcat的JVM参数也是必要的 

              错误提示:java.lang.OutOfMemoryError: Java heap space              

 

---Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m 
---Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’

    

JVM设置:堆的尺寸 
-Xmssize in bytes 
    设定Java堆的初始尺寸,缺省尺寸是2097152 (2MB)。这个值必须是1024个字节(1KB)的倍数,且比它大。(-server选项把缺省尺寸增加到32M。) 
-Xmnsize in bytes 
    为Eden对象设定初始Java堆的大小,缺省值为640K。(-server选项把缺省尺寸增加到2M。) 
-Xmxsize in bytes 
    设定Java堆的最大尺寸,缺省值为64M,(-server选项把缺省尺寸增加到128M。) 最大的堆尺寸达到将近2GB(2048MB)。 

请注意:很多垃圾收集器的选项依赖于堆大小的设定。请在微调垃圾收集器使用内存空间的方式之前,确认是否已经正确设定了堆的尺寸。 

垃圾收集:内存的使用 
-XX:MinHeapFreeRatio=percentage as a whole number 
    修改垃圾回收之后堆中可用内存的最小百分比,缺省值是40。如果垃圾回收后至少还有40%的堆内存没有被释放,则系统将增加堆的尺寸。 
-XX:MaxHeapFreeRatio=percentage as a whole number 
    改变垃圾回收之后和堆内存缩小之前可用堆内存的最大百分比,缺省值为70。这意味着如果在垃圾回收之后还有大于70%的堆内存,则系统就会减少堆的尺寸。 
-XX:NewSize=size in bytes 
    为已分配内存的对象中的Eden代设置缺省的内存尺寸。它的缺省值是640K。(-server选项把缺省尺寸增加到2M。) 
-XX:MaxNewSize=size in bytes 
    允许您改变初期对象空间的上限,新建对象所需的内存就是从这个空间中分配来的,这个选项的缺省值是640K。(-server选项把缺省尺寸增加到2M。) 
-XX:NewRatio=value 
    改变新旧空间的尺寸比例,这个比例的缺省值是8,意思是新空间的尺寸是旧空间的1/8。 
-XX:SurvivorRatio=number 
    改变Eden对象空间和残存空间的尺寸比例,这个比例的缺省值是10,意思是Eden对象空间的尺寸比残存空间大survivorRatio+2倍。 
-XX:TargetSurvivorRatio=percentage 
    设定您所期望的空间提取后被使用的残存空间的百分比,缺省值是50。 
-XX:MaxPermSize=size in MB 
    长久代(permanent generation)的尺寸,缺省值为32(32MB)。

   

            web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。Unix中如何设置这些参数,请参阅Unix常用监控和管理命令

               

分享到:
评论

相关推荐

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

    二、Tomcat并发优化配置 1. **Connector配置**:调整`Connector`的并发参数,如`maxThreads`定义最大线程数,`minSpareThreads`设置最小空闲线程,确保在高并发下有足够的处理能力。`acceptCount`设定等待队列长度...

    tomcat 1000/s 并发配置

    下面将详细阐述如何针对"tomcat 1000/s 并发配置"进行优化。 首先,我们需要了解Tomcat的并发原理。Tomcat使用线程池来处理HTTP请求,每个请求都会分配一个工作线程进行处理。因此,优化的关键在于合理配置线程池...

    tomcat GC 优化配置

    ### Tomcat GC 优化配置详解 #### 一、概述 在服务器端应用中,Java虚拟机(JVM)的性能优化至关重要,特别是对于像Tomcat这样的应用服务器而言,其性能直接影响到系统的响应速度和资源利用率。本文将详细介绍如何...

    tomcat集群优化详细配置

    【Tomcat集群优化详细配置】 在IT行业中,服务器性能优化是一项关键任务,特别是在高并发、大规模用户访问的场景下。Tomcat,作为广泛使用的Java应用服务器,常常需要通过集群部署来提升系统的可用性和可伸缩性。...

    Tomcat性能优化

    【描述】:“Tomcat7性能优化调优Tomcat7性能优化调优Tomcat7性能优化调优”重复强调了对Tomcat7版本的性能调整,这可能涉及到内存管理、线程池设置、连接器配置、JVM参数优化等多个方面。性能调优的目标是提高...

    tomcat8优化配置.zip

    这里我们主要关注的是针对Tomcat 8的优化配置,特别是JVM内存管理和服务器连接效率方面。 首先,我们需要理解JVM内存配置的重要性。Java虚拟机(JVM)是运行Java应用程序的关键组件,其内存管理直接影响着程序的...

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

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

    tomcat并发资料

    【标题】:“Tomcat并发资料” 【描述】:这篇博文主要探讨了Apache Tomcat服务器在处理高并发...这份"Tomcat并发资料.txt"文件可能包含上述部分或全部知识点的详细解释,是学习和优化Tomcat并发性能的重要参考资料。

    Tomcat+Mysql高并发配置优化讲解

    1.Tomcat优化配置 (1)更改Tomcat的catalina.bat 将java变成server模式,增大jvm的内存,在文件开始位置增加 setJAVA_OPTS=-server -Xms1024m -Xmx2048m -Xss512K -XX:PermSize=128m-XX:MaxPermSize=256m ...

    Tomcat性能优化.rar

    总结,Tomcat性能优化涉及JVM、Tomcat配置、Web应用、代码质量以及监控等多个层面,需要结合实际业务场景进行综合考虑。只有全面了解并掌握这些优化策略,才能使Tomcat在运行大型复杂应用时保持高效、稳定。

    Tomcat性能优化配置方案

    1.操作系统调优; 2.Java虚拟机调优; 3.Apache集成Tomcat; 4.【适用场景】 大量使用静态页面的应用系统; 5.【适用场景】 并发用户量及在线使用用户数量比较高的系统

    Tomcat并发数优化的方法总结.pdf

    【Tomcat并发数优化的方法】 ...总之,优化Tomcat并发数涉及到多个层面,包括使用NIO、调整线程池配置、优化JVM参数以及应用层面的优化。每个环节都需要根据实际应用场景进行细致的调整,以达到最佳的性能效果。

    Tomcat7性能优化

    本文将围绕“Tomcat7性能优化”这一主题,详细介绍如何通过优化配置提高Tomcat服务器的并发能力,并深入探讨服务器资源(如CPU、内存、硬盘等)对处理能力的影响。 #### 二、理解服务器资源的重要性 在优化Tomcat...

    tomcat性能优化.pdf

    在进行Tomcat优化时,需要从多个维度入手,包括但不限于配置优化、部署与测试、参数调整、源码理解以及JVM参数调整等。 配置优化是Tomcat性能优化的第一步,也是最基础的一步。首先,应该选择合适的Tomcat版本进行...

    Tomcat7优化.docx

    优化Tomcat7的目标是为了提高网站的并发处理能力,确保在高流量环境下仍然能保持良好的响应速度和服务稳定性。这通常涉及到调整服务器资源、配置设置、JVM参数等多个方面。 **服务器资源** 服务器的硬件资源如CPU、...

    优化Tomcat配置(内存、并发、缓存等方面)方法详解

    Tomcat有很多方面,我从内存、并发、缓存等方面介绍优化方法。 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。 JAVA_OPTS...

    liunx tomcat优化

    以下将详细阐述Linux下Tomcat的优化策略,主要从JVM配置、系统调优、线程池设置以及日志管理等方面进行讨论。 首先,我们关注的是JVM(Java Virtual Machine)的配置。`setenv.sh`文件在Tomcat中是用来设置环境变量...

    Apache Tomcat8优化说明

    本篇将详细介绍 Tomcat 8 的优化策略及相关配置参数。 #### 二、HTTP 连接器概述 HTTP 连接器是 Tomcat 8 中的核心组件之一,负责监听 TCP 端口并处理来自客户端的 HTTP 请求。通过合理的配置,可以显著提升 Tomcat...

    Tomcat并发优化方法介绍

    综上所述,Tomcat的并发优化是一个多方面的工作,需要综合考虑运行模式、JVM参数、连接器配置、会话管理、代码优化以及系统架构等多个因素。通过这些优化手段,可以显著提升Tomcat在高并发环境下的性能和稳定性。

Global site tag (gtag.js) - Google Analytics