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

tomcat 调优总结

阅读更多
参考资料1:http://tech.163.com/05/0711/10/1OCH7J2000091589_6.html


因此一般建议堆的最大值设置为可用内存的最大值的80%。


  Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。


  Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:


  JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'


  需要把这个两个参数值调大。例如:


  JAVA_OPTS='-Xms256m -Xmx512m'


  表示初始化内存为256MB,可以使用的最大内存为512MB。


1.禁用DNS查询


  当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值:

Tomcat5

<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/>

2.调整线程数


  另外一个可通过应用程序的连接器(Connector)进行性能控制的的参数是创建的处理请求的线程数。Tomcat使用线程池加速响应速度来处理请求。在Java中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、能够独立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出CPU最大利用率的高效程序,使空闲时间保持最低,从而接受更多的请求。


web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。


在Tomcat5对这些参数进行了调整,请看下表:

属性名

描述

maxThreads

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

acceptCount

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

connnectionTimeout

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

minSpareThreads

Tomcat初始化时创建的线程数。

maxSpareThreads

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



3.加速JSP编译速度


  当第一次访问一个JSP文件时,它会被转换为Java serverlet源码,接着被编译成Java字节码。你可以控制使用哪个编译器,默认情况下,Tomcat使用使用命令行javac进行使用的编译器。也可以使用更快的编译器,但是这里我们将介绍如何优化它们。


  另外一种方法是不要把所有的实现都使用JSP页面,而是使用一些不同的java模板引擎变量。显然这是一个跨越很大的决定,但是事实证明至少这种方法是只得研究的。如果你想了解更多有关在Tomcat可使用的模板语言,你可以参考Jason Hunter和William Crawford合著的《Java Servlet Programming 》一书(O'Reilly公司出版)。


参考资料2;http://wangzi6hao.iteye.com/blog/531618



Xml代码 

    

修改tomcat/conf/server.xml配置文件为以上。


修改apache-tomcat-6.0.18\bin\catalina.bat配置文件为以下。

set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m

这一句加在

rem ---------------------------------------------------------------------------


rem Guess CATALINA_HOME if not defined

之间的位置,不要加到那些if里面去了,否则不一定会生效.

如果有疑问.可以用

echo %JAVA_OPTS%&gt;d:\JAVA_OPTS.log

来查看是否正确的设置了.

分享到:
评论

相关推荐

    tomcat性能调优总结

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

    Tomcat性能调优实战总结

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

    tomcat优化总结

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

    Tomcat和JavaVirtualMachine的性能调优总结

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

    LINUX性能调优方法总结

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

    jvm调优思维脑图

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

    极速掌握Tomcat

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

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

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

    tomcat常用配置信息详解

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

    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必会...

    深入理解_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. ...

    iuhyiuhkjh908u0980

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

    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