(1)、maxHttpHeaderSize=”8192”

此选项用于配置:来自于客户端请求的Request和Response的HTTP header

的最大长度,以字节计算。如果不设置,该属性为4096(4K)。

(2)、maxThreads="512"

Connector创建的请求处理线程的最大值,它决定了能够同时处理并发请求的最

大值。如果不指定,该属性值为200。Tomcat的线程数量太多会导致切换过多,性能

下降严重。这个数量应该是你单个机器的承载能力,压力测试下得出的结果。不可任意

加大。一般情况下,256-512个已经非常高的数值了。

(3)、minSpareThreads="100"

tomcat初始化时创建的线程数,即最小工作线程数目。

(4)、maxSpareThreads="300"

tomcat所允许的最大线程数,一旦创建的线程超过这个数,Tomcat就将关闭不

再需要的Socket线程。

(5)、enableLookups="false"

使用允许DNS查询,通常情况下设置为false。如果为true则tomcat会损耗一

部分系统性能。

(6)、redirectPort="8443"

这里系统默认的,它指定转发端口,如果当前只支持non-SSL请求,在需要安全

通信的场所,将把客户请求转发至SSL的redirectPort端口。

(7)、acceptCount=“200”

当所有请求处理线程都被占用时,允许接收请求队列的最大长度。当队列已满时,

任何收到的请求都将被拒绝。缺省值为10。

(8)、connectionTimeout="50000"

Connector接收连接后,等待提供请求URI的时间,缺省值为60000(60秒)。

(9)、disableUploadTimeout="true"

该标志位表明当执行servlet时,是否允许servlet容器使用一个不同的、更长的

连接超时。启用该标志位将导致在上传数据时,要么使用更长的时间完成上传,要么

出现更长的超时。如果不指定,该属性为“false”。

(10)、有时不光要优化tomcat,同时还需要更改Linux的一些系统参数。如果WEB

服务器进行压力测试时报socket不足,则些可以对/etc/security/limits.conf进行相

应修改:

* soft nofile 57766

* hard nofile 65535

二、优化tomcat启动的初始内存设置($TOMCAT_HOME/bin/catalina.sh)

JAVA_OPTS="-server -Xms2048M -Xmx2048M -Xss128k -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking"

参数详解:

(1)、-Xms2048M

Java虚拟机初始化时使用的内存大小,为了减少tomcat频繁的申请内存,此参数

应该和Xmx设置的参数一样大。

(2)、-Xmx2048M

JAVA虚拟机可以使用的最大内存,此参数的最大设置不允许超过物理内存的90%。

(3)、-XX:+AggressiveOpts

加快编译

(4)、-Xss128k

设置tomcat每增加一个线程(Thread)就会立即消耗128K内存,最佳值应该是128,

默认值是512K。见意256K大小,这个对性能影响较大,需要多次测试。减少这个值可

以增加一个进程内的线程数量。

(5)、-XX:+UseParallelGC

一些测试表明当非64位系统,并且非高性能服务器时,这个选项会造成垃圾回收

变慢。(此选项决定对垃圾回收是否采用多线程)

(6)、-XX:+UseBiasedLocking"

非竞争性的同步选项,锁机制的性能改善。

(7)、-XX:PermSize=256m

最小堆大小,一般把内存不足时就是把这个空间不足。默认为物理内存的1/4。

(8)、-XX:+DisableExplicitGC

禁止System.gc(),免得程序员误调用gc方法影响性能。

下面给出见意设置:

JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256k -XX:+AggressiveOpts -XX:+UseBiasedLocking"

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

maxHttpHeaderSize="8192"

minProcessors="100"

maxProcessors="5000"

maxThreads="5000"

minSpareThreads="1000"

maxSpareThreads="4000"

enableLookups="false"

acceptCount="3500"

disableUploadTimeout="true"

connectionTimeout="20000"

debug="0"

redirectPort="8443" />

maxThreads:Tomcat可创建的最大的线程数,每一个线程处理一个请求;

minSpareThreads:最小备用线程数,tomcat启动时的初始化的线程数;

maxSpareThreads:最大备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭(应该有个超时时间吧,超时后关闭)不再需要的socket线程;

所以maxThreads决定了tomcat的最大线程阀值,需要设置的大一些

Tomcat学习总结(15)—— Tomcat优化时的参数分析的更多相关文章

  1. jQuery学习笔记之jQuery.fn.init()的参数分析

    这篇文章主要介绍了jQuery.fn.init()的参数分析,需要的朋友可以参考下   从return new jQuery.fn.init( selector, context, rootjQuer ...

  2. Mybatis学习笔记15 - 两个内置参数_parameter和_databaseId

    两个内置参数:除了方法传递过来的参数可以被用来判断,取值外,mybatis默认还有两个内置参数: _parameter:代表整个参数 单个参数:_parameter就代表这个单个参数 多个参数:参数会 ...

  3. Tomcat学习总结(3)——Tomcat优化详细教程

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  4. Tomcat学习总结(11)——Linux下的Tomcat安全优化

    1.web.xml配置及修改: 站点默认主页: <welcome-file-list> <welcome-file>index.html</welcome-file> ...

  5. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

  6. Tomcat 安全配置与性能优化

    一.Tomcat内存优化 1.JAVA_OPTS参数说明 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OP ...

  7. Nginx与Tomcat安装、配置与优化

    Nginx与Tomcat安装.配置与优化 Nginx与Tomcat安装.配置与优化 Nginx的安装与使用 Nginx是一款优秀的反向代理服务器 安装: rpm(或者是pkg安装),是预编译好的程序包 ...

  8. Tomcat 8.0的并发优化 - 优化server.xml的配置

    目录 1 Tomcat的3种运行模式 1.1 BIO - 同步阻塞IO模式 1.2 NIO - 同步非阻塞IO模式 1.3 APR - 可移植运行时模式 2 Tomcat的并发配置(配置Connect ...

  9. Tomcat学习之ClassLoader

    Tomcat学习之ClassLoader 2012-09-04 22:19 8993人阅读 评论(4) 收藏 举报  分类: WEB服务器(13)  版权声明:本文为博主原创文章,未经博主允许不得转载 ...

随机推荐

  1. Trie树的数组实现原理

    Trie(Retrieval Tree)又称前缀树,可以用来保存多个字符串,并且非常便于查找.在trie中查找一个字符串的时间只取决于组成该串的字符数,与树的节点数无关.因此,它的查找速度通常比二叉搜 ...

  2. iOS计算UIWebView的高度和iOS8之后的WKWebView的高度问题

    当我们涉及到webView和自定义控件结合的时候,例如一个资讯详情,上半部分是webView,下面位置想加上我们的自定义控件,可可以计算出webView的高度,在刷新界面. 下边是计算UIWebVie ...

  3. 【转】jQuery.validate 用法

    名称                              返回类型                描述 validate(options)          返回:Validator       ...

  4. 在EF中使用Expression自动生成p=>new Entity(){X="",Y="",..}格式的Lambda表达式灵活实现按需更新

    一.基本介绍      回忆:最早接触Expression是在学校接触到EF的时候,发现where方法里的参数是Expression<Func<T,bool>>这么一个类型,当 ...

  5. 背水一战 Windows 10 (51) - 控件(集合类): ItemsControl - 项模板选择器, 数据分组

    [源码下载] 背水一战 Windows 10 (51) - 控件(集合类): ItemsControl - 项模板选择器, 数据分组 作者:webabcd 介绍背水一战 Windows 10 之 控件 ...

  6. Maximum repetition substring(POJ - 3693)(sa(后缀数组)+st表)

    The repetition number of a string is defined as the maximum number \(R\) such that the string can be ...

  7. redis windows版本下载地址(不用hm提供的)

    https://github.com/MicrosoftArchive/redis/releases

  8. [Vue] vue-cli3.0安装

    1. node.js安装https://nodejs.org/en/download/ 2.npm的安装 由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了.同样可以通过输入 &qu ...

  9. 开发创建XMPP“发布订阅”扩展(xmpp pubsub extend)

    发布订阅(PubSub)是一个功能强大的XMPP协议扩展.用户订阅一个项目(在xmpp中叫做node),得到通知时,也即当事项节点更新时.xmpp服务器通知用户(通过message格式). 节点类型: ...

  10. iOS-xcconfig环境变量那些事(配置环境的配置)

    前言 在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多 ...