tomcat生产部署关键参数设置

简介: JVM设置l 一般使用HotSpot JVM。l 加上-server。l -Xms/-Xmx:设置java堆初始化和最大值,默认是1/64物理内存和1/4物理内存,一般不超过物理内存的80%,且这两个应该设置成一样,,够用就好,太高会导致浪费内存和GC回收周期长。

JVM设置

一般使用HotSpot JVM

加上-server

-Xms/-Xmx:设置java堆初始化和最大值,默认是1/64物理内存和1/4物理内存,一般不超过物理内存的80%,且这两个应该设置成一样,,够用就好,太高会导致浪费内存和GC回收周期长。

-XX:NewSize/-XX:NewRatio:设置成25%-33%java堆总量,太高太低都会导致无效GC

-XX:PermSize/-XX:MaxPermSize:非堆内内存初始值最大值分别设为128M256M

-XX:+AggressiveOpts:使用最新优化技术。

参考oracle官网http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html,还有其他参数可根据实际配置。

集群设置

四层七层:四层不认识http协议,只按照客户端ipport分配流量,但性能好;七层认识http协议,可用http某些头部分配流量,由于需要计算,性能相对差点。

 

连接池:负载均衡器到tomcat的连接数,一般小于等于tomcat集群节点处理连接能力之和。例如集群有4个节点,每个tomcat预计处理500个链接,那么连接池的长连接数最大设为2000

 

全节点复制(DeltaManager)模式集群节点数3-6为宜。

主备复制(BackupMnagager)模式集群节点可到10台以上。

Connector设置

一共有三种模式:

JAVA BIO,阻塞模式,最原始最稳定,SSL基于JSSE,同时也是tomcat7之前默认模式,它支持较小的并发处理。高并发但是短链接它也为首选。BIO模式下有一个非常重要的参数,maxThreads,表示最大的同时处理请求数,一般范围为200-800,可以从400开始设置,如果是CPU密集型的应用可以减少,如果是非CPU密集型的应用可以增加。

 

JAVA NIO,非阻塞模式,SSL基于JSSE,连接的接收、读写都由专门的线程负责,是tomcat8后默认模式,它支持大并发多链接处理。高并发长连接首选。

 

Native APR,非阻塞模式,它是为了提高性能而使用本地代码的一种模式,它由C++编写,SSL是基于OpenSSL。它支持更大并发更多链接处理。

 

一般只在JAVA BIOJAVA NIO之间切换,他们之间方便切换SSL,因为实现都基于JSSE,并且Native APR有可能在某些机器上不稳定。

 


点击订购作者《Tomcat内核设计剖析》

 

目录
相关文章
|
4月前
|
Arthas 监控 Java
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
242 2
|
3月前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
54 0
|
1月前
|
移动开发 Java 应用服务中间件
tomcat第1章 tomcat介绍、安装、部署项目
tomcat第1章 tomcat介绍、安装、部署项目
|
5月前
|
XML Java 应用服务中间件
tomcat三种部署方式和推荐方式
tomcat三种部署方式和推荐方式
|
19天前
|
XML Java 应用服务中间件
Tomcat_servlet部署、编译、配置、打包
Tomcat_servlet部署、编译、配置、打包
21 0
|
4天前
|
应用服务中间件
jeecgboot开发环境服务启动刷新没问题,部署到tomcat,F5刷新或者浏览器刷新,会出现404
jeecgboot开发环境服务启动刷新没问题,部署到tomcat,F5刷新或者浏览器刷新,会出现404
|
13天前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
|
25天前
|
Java 应用服务中间件 Linux
在阿里云服务器上部署Tomcat详细图文详解
本文介绍了在阿里云服务器上安装和配置JDK和Tomcat的步骤。首先,需要注册阿里云账号并进行实名认证,然后购买并设置服务器。接着,通过File Zilla连接服务器,创建Java和Tomcat的安装目录,并将JDK和Tomcat的tar.gz文件上传到服务器,解压并重命名。之后,配置JDK的环境变量,将catalina.sh复制到/etc/init.d/目录下,并修改相关配置。最后,启动Tomcat并配置安全组规则,确保可以通过公网访问。
|
28天前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
|
29天前
|
Java 关系型数据库 应用服务中间件
Tomcat详解(五)——jforum论坛部署实战
Tomcat详解(五)——jforum论坛部署实战
18 2