`

Tomcat调优相关总结

 
阅读更多

关于Tomcat调优的一些总结,欢迎拍砖。

1、线上环境Java版本:

java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)

2、修改$CATALINA_HOME/bin/catalina.sh:

其中有一个CATALINA_OPTS参数,可以配置Tomcat启动时的JVM参数。

CATALINA_OPTS="-Xms4g -Xmx4g -Xmn3g -Xss256k \
    -server \
    -XX:PermSize=128M \
    -XX:MaxPermSize=128M \
    -XX:+UseConcMarkSweepGC \
    -XX:+UseAdaptiveSizePolicy \
    -XX:+CMSClassUnloadingEnabled \
    -XX:+CMSPermGenSweepingEnabled \
    -XX:+UseCMSCompactAtFullCollection \
    -XX:+DisableExplicitGC \
    -XX:CMSFullGCsBeforeCompaction=10 \
    -XX:CMSMaxAbortablePrecleanTime=5"

基本就是重置各代大小、Perm区大小、启用CMS等...此处不再做详细解释,具体调优参数见我的另外一篇blog:《某高并发应用JVM启动参数配置》

3、修改$CATALINA_HOME/conf/server.xml:

<Connector port="8101" protocol="HTTP/1.1" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="30000" disableUploadTimeout="true" URIEncoding="UTF-8" />

这里主要是对Tomcat Connector进行配置,上面是一个样例。

配置项如下:

maxThreads

Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。 

可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。

acceptCount

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。 

要加大并发连接数,应同时加大以上两个参数。最大连接数也受制于操作系统内核参数设置,通常Linux是1000个左右。

minSpareThreads

Tomcat初始化时创建的线程数。默认值4。 

maxSpareThreads

一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。 

enableLookups 

是否反查域名,默认值为true。为了提高处理能力,应设置为false 

connnectionTimeout

网络连接超时,默认值20000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

maxKeepAliveRequests 

保持请求数量,默认值100。 

bufferSize

输入流缓冲大小,默认值2048 bytes。 

compression

压缩传输,取值on/off/force,默认值off。

注,压缩相关参数:

compression="on" <!-- 打开压缩功能 -->
compressionMinSize="2048" <!-- 启用压缩的输出内容大小,这里面默认为2KB --> 
noCompressionUserAgents="IE, FireFox, Opera"  <!-- 对于以下的浏览器,不启用压缩 --> 
compressableMimeType="text/html,text/xml" <!-- 压缩类型 -->

 

分享到:
评论

相关推荐

    tomcat性能调优总结

    在Tomcat和应用程序进行了压力测试后,如果您对应用程序的性能结果不太满意,就可以采取一些性能调整措施了,当然了前提是应用程序没有问题,tomcat性能调优总结,欢迎下载

    Tomcat性能调优实战总结

    本文以现场实践为基础,用实例讲解了如何对Tomcat进行性能调优,并对比了调优前后性能指标数据的变化,是一个不可多得的参考资料。

    LINUX性能调优方法总结

    LINUX性能调优方法总结,主要使用于TOMCAT部署时的性能优化

    tomcat优化总结

    tomcat部署后,需要对tomcat进行优化配置,使tomcat性能提升,应用访问功能流畅

    Tomcat和JavaVirtualMachine的性能调优总结

    对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一些参数值,给各位详细解释一下吧...

    jvm调优思维脑图

    主要包括:java内存结构、堆内存的构成、堆内存参数调整、垃圾收集算法、垃圾收集器选择、JVM参数、java对象的内存分配过程、Tomcat调优并使用Jmeter评测、参考资料等。希望对大家学习jvm有帮助。

    极速掌握Tomcat

    然后,从实战角度分析Tomcat调优技巧。 1、掌握Tomcat基本原理。2、掌握Tomcat调优技巧。 为什么需要学习Tomcat? Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由...

    tomcat常用配置信息详解

    此材料是本人学习和开发过程中的一些资料总结,主要是详细总结来了Tomcat服务配置的一些问题。适合Java开发面试者以及Web项目开发初学者学习。

    jvm详细介绍以及性能优化方法

    深入java虚拟机第二版pdf,jvm性能调优总结,tomcat性能调优

    JVM笔记资料压缩文件

    jvm笔记 1、jvm总体架构.pdf 2、堆内存内部结构.pdf 3、有关内存的常用配置参数.pdf 4、有关内存溢出和内存泄漏的知识点.pdf 5、jvm里的垃圾回收机制.pdf ...7、Tomcat调优实战.pdf 8、动态查看JVM内存的工具.pdf

    java深入学习教程书籍ppt及pdf集合

    java反射机制总结pdf java数据结构上机实践指导教程pdf java网络编程pdf jvm内存问题最佳实践ppt jvm实现机制ppt jvm调优word tomcat详细资料word tomcat源码研究 java类库简介和数据结构类使用ppt 深入java虚拟机...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ │ JVM调优实战.doc │ │ Tomcat7优化.docx │ │ 深入理解Java内存模型.pdf │ │ │ └─课后资料 │ ├─笔记 │ │ 淘淘商城_day20_课堂笔记.docx │ │ │ └─视频 │ 07-使用Jedis连接集群操作.avi │ ...

    云计算架构知识培训视频.rar

    L012老男孩高级架构师-12期上学期结课总结及堡垒机-WAF实践-7节wmv L013老男孩高级架构师-2016最新亿级PV大型电商网站架构综合详解 L014老男孩高级架构师-架构师DNS实战 1015-老男孩高级架构师-架构师反向代理 1016...

    java版飞机大战源码-Rockira.github.io:Rockira.github.io

    各类知识点总结 下面的文章都有对应的原创精美PDF,在持续更新中,可以来找我催更~ Hibernate AJAX Redis ...... :hot_beverage:Java基础 计算机操作系统与Linux 计算机网络 7种常见的设计模式和使用场景 Java必会...

    iuhyiuhkjh908u0980

    (这也是Ebean与Hibernatet等ORM的重要区别之一) l 支持基于Object Graph进行自动查询调优 ... by kyo100900 2009-04-07 回复 (7) jspx 一个来自于埃及的java web ... 怎么又冒出一个web框架? 看看现存的Java web...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 57 3.4.3 Parallel Scavenge收集器 / 59 3.4.4 Serial Old收集器 / 60 3.4.5 Parallel Old收集器 / 61 3.4.6 CMS收集器 / 61 3.4.7 G1收集器 / 64 3.4.8 垃圾收集器参数总结 / 64 3.5 内存分配与回收策略 /...

    java面试常见基础(深层次,高级研发)

    3. JVM服务参数调优实战 14 3.1. 大型网站服务器案例 14 3.2. 内部集成构建服务器案例 15 4. 常量池在jvm的哪个空间里边? 17 5. jvm垃圾回收是什么时候触发的? 17 5.1. 那究竟GC为我们做了什么操作呢? 17 5.1.1. ...

    Java虚拟机

    9.2.1 Tomcat:正统的类加载器架构 9.2.2 OSGi:灵活的类加载器架构 9.2.3 字节码生成技术与动态代理的实现 9.2.4 Retrotranslator:跨越JDK版本 9.3 实战:自己动手实现远程执行功能 9.3.1 目标 9.3.2 思路 ...

Global site tag (gtag.js) - Google Analytics