Tomcat 相关配置与优化配置

原创 2017年11月15日 11:29:36

1.   相关端口、编码、NIOConnector配置

编辑tomcat下的Server.xml 文件,原内容如下

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

1)        http访问端口修改,假设我们目前需要的端口为80: 8080------》80

<Connectorport="80"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

2)        NIOConnector 连接配置,采用NIO连接器是为了使用NIO的多路复用功能,提高tomcat的吞吐与并发能力。

<Connectorport="80" protocol="org.apache.coyote.http11.Http11NioProtocol"  connectionTimeout="20000"  redirectPort="8443" />

 

3)        Tomcat 编码设置

<Connectorport="80" protocol="org.apache.coyote.http11.Http11NioProtocol"  connectionTimeout="20000"  redirectPort="8443"URIEncoding=”utf-8” />

 

2.   虚拟路径配置,虚拟路径的作用是:如果要求我们的软件能够直接通过IP以及端口就能访问,则需要此配置。

编辑Server.xml 在<Host>标签下添加如下内容

<Context path=" " docBase="D:\myproject\webapp" reloadable="true" debug="0"  crossContext="true" ></Context>

path:指定访问该 Web 应用的 URL 入口。

docBase:指定 Web 应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase 属性的相对路径,如果 Web 应用采用开放目录结构,则指定 Web应用的根目录,如果 Web 应用是个 war 文件,则指定 war 文件的路径。(指定项目所在地址)

reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。

crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。

Debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。

这个方法一般在设置后都需要重启服务器才有效(有时候即使设置了reloadable=“true” 也需要重新启动)

3.   Jvm参数相关配置

     在Catalina.sh 文件中添加如下参数,红色字体代表为需要动态调整的参     数,配置以64为JDK为例。

JAVA_OPTS="-XX:+UseCMSCompactAtFullCollection  -Xms3536m -Xmx3536m  -Xmn2g -XX:TargetSurvivorRatio=90 -XX:PermSize=512m

-XX:MaxPermSize=512m  -Xverify:none -XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=80 -XX:+HeapDumpOnOutOfMemoryError 

XX:HeapDumpPath=/gc/dump/ heap.hprof-XX:+DisableExplicitGC

-XX:+PrintGCDetails -XX:+PrintGCTimeStamps

-XX:MaxTenuringThreshold=25  -Xloggc:/gc/gc.log"

-Xms3536m最小堆内存大小,建议大约占整个内存的70%左右

-Xmx3536m最大堆内存大小,建议大约占整个内存的70%左右,建议与最小堆内存一直,尽量防止发生不必要的内存回收。

-Xmn2g  新生代内存大小,建议为整个堆内存的80%左右

-XX:PermSize=512m 最小永久代的大小,这个要根据项目的规模来,如果项目规模大,可以做出与之适应的调整,通过JConsole工具监测项目所需要的永久带大小。

 -XX:MaxPermSize=512m最大永久代的大小,这个要根据项目的规模来,如果项目规模大,可以做出与之适应的调整,通过JConsole工具监测项目所需要的永久带大小。

-XX:HeapDumpPath=/gc/dump/heap.hprof   当出现内存溢出时,打印出来的堆信息。

  -Xloggc:/gc/gc.log 垃圾回收的日志所在的路径,通过此文件便于排查系统隐藏、性能问题。

4.   线程池配置

目的:配置合理的线程数,增加系统的吞吐量以及并发能力,防止线程数太多造成服务器压力太大,合理利用服务器硬件资源。

编辑Server.xml

1)        增加线程池Executor配置

<Executorname="tomcatThreadPool"namePrefix="catalina-exec-"maxThreads="200 "  minSpareThreads="4"maxSpareThreads="200" acceptCount="200"    maxIdleTime="30000"  enableLookups="false"/>

maxThreads:最大能接受的请求数,默认为200

minSpareThreads:最少备用线程数,默认初始化,默认为25 maxSpareThreads:最多备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程

acceptCount:等待处理的请求队列,默认为100,超过队列长度,服务器则拒绝客户端请求,直接返回403

maxIdleTime:如果一个线程在30秒以内没有活跃,则终止运行并从线程池中移除。除非线程池数量小于或等于minSpareThreads数量。默认值是1分钟

enableLookups:如果为true,调用request.getRemoteHost会执行DNS反查,反向解析IP对应的域名或主机,效率较低,建议设为false。

2)修改httpConnector 相关配置

 <Connectorport="80"  executor="tomcatThreadPool"protocol="org.apache.coyote.http11.Http11NioProtocol"  connectionTimeout="20000"  redirectPort="8443" URIEncoding=”utf-8”  />

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qqLK123/article/details/78539026

tomcat优化配置

  • 2011年10月18日 09:26
  • 33KB
  • 下载

Tomcat 优化方案 和 配置详解

Service.xml Server.xml配置文件用于对整个容器进行相关的配置。 元素: 是整个配置文件的根元素。表示整个Catalina容器。 属性: classNa...
  • YI2672379417
  • YI2672379417
  • 2016-05-18 10:59:13
  • 12700

TomCat的配置和优化

转自:http://www.sysopen.cn/20165012/ 作者:yangc TomCat的内存使用配置,最大链接数的配置 如何修改配置呢,在/tomcat的/bin/下面...
  • lu1005287365
  • lu1005287365
  • 2016-06-27 12:49:57
  • 2175

如何优化tomcat配置(从内存、并发、缓存4个方面)优化

Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。   **一.Tomcat内存优化**  Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动...
  • centre10
  • centre10
  • 2016-02-06 00:55:21
  • 62344

nginx + tomcat 8.5 优化配置

第一步: Tomcat优化: 进入文件夹tomcat/bin. 打开catalina.sh文件, 找到下面的注释 # OS specific support. $var _must_ be s...
  • zhangningkid
  • zhangningkid
  • 2017-10-31 15:14:55
  • 670

tomcat优化调优文档

  • 2014年06月27日 14:45
  • 433KB
  • 下载

tomcat 的优化配置

本文主要收集关于TOMCAT的优化配置设置。1.精简Tomcat和配置文件1.删除不需要的管理应用和帮助应用,提高tomcat安全性。# 删除webapps下所有文件# rm –fr $CATALIN...
  • herrapfel
  • herrapfel
  • 2007-07-30 17:34:00
  • 6902

修改TOMCAT服务器配置,优化性能

1、加大tomcat可以使用的内存JAVA_OPTS='-Xms【初始化内存大小】-Xmx【可以使用的最大内存】'JAVA_OPTS="-Xms1500m -Xmx1500m -Xss1024K -X...
  • maoxiao1229
  • maoxiao1229
  • 2014-07-30 15:57:09
  • 5630

Nginx 与 Tomcat 配置及优化

# nginx不同于apache服务器,当进行了大量优化设置后会魔术般的明显性能提升效果 # nginx在安装完成后,大部分参数就已经是最优化了,我们需要管理的东西并不多#user nobody;#...
  • dreamsunday
  • dreamsunday
  • 2016-05-21 15:31:37
  • 6072

Tomcat和JVM配置优化手册

在生产环境一般不会使用Tomcat的默认设置,为满足响应时间、吞吐量等要求需要对Tomcat整体的配置进行调整,个别配置需要根据应用的特性持续观察调整以达到最优。本文是调优方案,是生产环境Tomcat...
  • axbyc1234
  • axbyc1234
  • 2016-10-13 14:44:06
  • 1654
收藏助手
不良信息举报
您举报文章:Tomcat 相关配置与优化配置
举报原因:
原因补充:

(最多只允许输入30个字)