Tomcat的优化

本文详细介绍了如何通过调整Tomcat配置文件参数,如线程数、连接超时等,以优化性能。同时探讨了Nginx与Tomcat的动静分离部署策略,提高网站响应速度。还涵盖了创建虚拟主机和服务器配置的步骤,以及动静分离的测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tomcat配置文件优化

  • Tomcat默认安装下的缺省配置并不合适生产环境,可能会出现假死现象需要重新启动,只有通过不断地优化才能能高效稳定地运行。

优化分为三步:
操作系统优化(内核参数优化);
tomcat配置文件参数优化;
java虚拟机(JVM)调优。

常用的优化相关参数

maxThreads : Tomcat使用线程来处理接受的每个请求,这个值表示tomcat可创建的最大的线程数,默认值是200

minSpareThreads :最小空闲线程数,Tomcat启动时的初始化线程数,表示即使没有人使用也开那么多空线程等待,默认值是10

maxSpareThreads :最大备用线程数,一旦创建的线程超过这个数,Tomcat就会关闭不再需要的socket线程,默认值是-1(无限制)

URIEncoding :指定Tomcat容器的URL编码格式

connectionTimeout :网络连接超时,单位毫秒,设置为0,表示永不超时,默认20000毫秒

enableLookups :是否反查域名

disableUploadTimeout :上传时是否使用超时机制

connectionUploadTimeout : 上传超时时间

acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,默认为100个

compression : 是否对响应的数据进行Gzip压缩

compressionMinSize : 表示压缩响应的最小值

compressableMimeType : 压缩类型

noCompressionUserAgents=“gozila,traviata” :对于以下的浏览器,不启用压缩

修改配置文件

// 
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml
    <Connector port="8080" protocol="HTTP/1.1"
 70                connectionTimeout="20000"
 71                redirectPort="8443" 
 72                minSpareThreads="50"   #最小空闲进程数
 73                enableLookups="false"   #不反查域名,直接返回IP地址
 74                disableUploadTimeout="true"  #开启上传超时机制
 75                acceptCount="300"       #最大队列长度
 76                maxThreads="500"        #Tomcat可创建最大线程数
 77                processorCache="500"    #系统可以缓存对象的数量  
 78                URIEncoding="UTF-8"     #字符集
 79                compression="on"        #开启压缩
 80                compressionMinSize="2048"  #响应压缩的最小值 81                compressableMimeType="text/html,text/xml,text/javascript,t    ext/css,text/plain,image/gif,image/jpg,image/png"  />   ##支持压缩的类型
  

// 
[root@localhost ~]# startup.sh  ##重启
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost ~]# netstat -antp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      33001/java        

Nginx + Tomcat 动静分离

Nginx静态优势
Nginx处理静态页面的效率高于tomcat的处理能力
Nginx处理静态资源的能力是tomcat处理的6倍

//
 nginx:   192.168.142.133
tomcat1: 192.168.142.142
tomcat2: 192.168.142.150
测试:    192.168.

Nginx端设置

//
[root@localhost nginx-1.15.9]# vim /usr/local/nginx/conf/nginx.conf

 28     #tcp_nopush     on;
 29 
 30     #keepalive_timeout  0;
 31     keepalive_timeout  65;
 32 
 33     #gzip  on;
 34     upstream tomcat_server {
 35          server 192.168.142.142:8080 weight=1;
 36          server 192.168.142.150:8080 weight=1;
 37     }
 38     server {
 39         listen       80;
 40         server_name  localhost;
 41 
 42         #charset koi8-r;
 43 
 44         #access_log  logs/host.access.log  main;
 45 
 46         location / {
 47             root   html;
 48             index  index.html index.htm;
 49         }
 50         location ~ .*\.jsp$ {
 51             proxy_pass http://tomcat_server;
 52             proxy_set_header HOST $host;
 53             proxy_set_header X-Real-IP $remote_addr;
 54             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 55             set_real_ip_from 192.168.142.150/24;
 56             set_real_ip_from 192.168.142.142/24;
 57             real_ip_header X-Forwarded-For;
 58         }

Tomcat1服务器配置

创建项目的目录和文件

//
 [root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir test

[root@localhost webapps]# cd test/
[root@localhost test]# vim tt.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>tomcat1</title>
</head>
<body>
<% out.println("哈哈哈哈");%>
</body>
</html>

配置虚拟主机

// 
[root@localhost test]# vim /usr/local/tomcat/conf/server.xml

在这里插入图片描述

shutdown.sh
startup.sh

在这里插入图片描述

Tomcat1服务器配置

和tomcat1一样的步骤
创建项目的目录和文件

//
 [root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir test

[root@localhost webapps]# cd test/
[root@localhost test]# vim tt.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>tomcat1</title>
</head>
<body>
<% out.println("嘻嘻嘻");%>
</body>
</html>

配置虚拟主机

// 
[root@localhost test]# vim /usr/local/tomcat/conf/server.xml

在这里插入图片描述

shutdown.sh
startup.sh

在这里插入图片描述

测试动静分离

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值