iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >TOMCAT配置优化的方法是什么
  • 682
分享到

TOMCAT配置优化的方法是什么

2023-06-27 18:06:32 682人浏览 独家记忆
摘要

本篇内容主要讲解“Tomcat配置优化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TOMCAT配置优化的方法是什么”吧!Tomcat连接器协议优化Tomcat 连接器的三种方式:

本篇内容主要讲解“Tomcat配置优化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TOMCAT配置优化的方法是什么”吧!

TOMCAT配置优化的方法是什么

Tomcat连接器协议优化

Tomcat 连接器的三种方式: bioNIO 和 apr,三种方式性能差别很大,apr 的性能最优, bio 的性能最差。而 Tomcat 7 使用的 Connector 默认就启用的 Apr 协议,但需要系统安装 Apr 库,否则就会使用 bio 方式。

1、nio如何配置

进入到tomcat的server.xml找到connector。更改其中的protocol属性即可。

TOMCAT配置优化的方法是什么
2、apr如何配置

apr的配置需要安装依赖

yum -y install openssl-develyum -y install apr-devel

安装之后,去tomcat官网下载native组件,native可以看成是tomcat和apr交互的中间环节,下载地址是:

Http://tomcat.apache.org/download-native.cgi 这里下载最新的版本1.2.10解压并安装

tar -xvzf tomcat-native-1.2.10-src.tar.gzcd tomcat-native-1.2.10-src/native/./configure

至此apr安装成功,进入server.xml。更改协议将默认的protocol=”HTTP/1.1″修改为protocol=”

org.apache.coyote.http11.Http11AprProtocol”。

Tomcat配置文件方面的优化

配置文件方面是我们主要的tomcat优化的地方。我们将常见的优化直接在配置文件中放置。

connectionTimeout=”30000″:网络连接超时,单位:毫秒,设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒,可根据检测实际情况,适当修改

enableLookups=”false”:是否反查域名,以返回远程主机的主机名,取值为:true 或 false,如果设置为false,则直接返回IP地址,为了提高处理能力,应设置为 false。

disableUploadTimeout=”false”:上传时是否使用超时机制。

connectionUploadTimeout=”150000″:上传超时时间,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以 使Servlet有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。

acceptCount=”300″:指定当所有可以 使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为100个。

keepAliveTimeout=”120000″:长连接最大保持时间(毫秒),表示在下次请求过来之前,Tomcat 保持该连接多久,默认是使用connectionTimeout 时间,-1 为不限制超时。

maxKeepAliveRequests=”1″:表示在服务器关闭之前,该连接最大支持的请求数。超过该请求数的连接也将被关闭,1表示禁用,-1表示不限制个数,默认100个,一般设置在100~200之间。

compression=”on”:是否对响应的数据进行 GZIP 压缩,off:表示禁止压缩;on:表示允许压缩(文本将被压缩)、force:表示所有情况下都进行压缩,默认值为off,压缩数据后可以有效的减少页面的大小,一般可以减小1/3左右,节省带宽。

compressionMinSize=”2048″:表示压缩响应的最小值,只有当响应报文大小大于这个值的时候才会对报文进行压缩,如果开启了压缩功能,默认值就是2048。

compressableMimeType=”text/html,text/xml,text/javascript,text/CSS,text/plain,image/gif,image/jpg,image/png”:压缩类型,指定对哪些类型的文件进行数据压缩。

最大支持的请求数。超过该请求数的连接也将被关闭,1表示禁用,-1表示不限制个数,默认100个,一般设置在100~200之间。compression=”on” 为不限制超时。maxkeepaliverequests=”1″ 时间,-1=”” connectiontimeout=”30000″ 保持该连接多久,默认是使用=”” 长连接最大保持时间(毫秒),表示在下次请求过来之前,tomcat=”” 指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为100个。keepalivetimeout=”120000″ 上传超时时间,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以使servlet有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。acceptcount=”300″ 上传时是否使用超时机制。connectionuploadtimeout=”150000″ false。disableuploadtimeout=”false” false,如果设置为false,则直接返回ip地址,为了提高处理能力,应设置为=”” 或=”” 是否反查域名,以返回远程主机的主机名,取值为:true=”” 毫秒,可根据检测实际情况,适当修改enablelookups=”false” 30000=”” 表示永不超时,这样设置有隐患的。通常可设置为=”” 0=”” 网络连接超时,单位:毫秒,设置为=”” uriencoding=”UTF-8″ protocol=”HTTP/1.1″ port=”8080″ executor=”tomcatThreadPool”>

Tomcat的JVM方面的优化

找到catalina.sh在文件开头增加如下设置:JAVA_OPTS=’-Xms256m-Xmx512m’

-Xms:表示 Java 初始化堆的大小,-Xms 与-Xmx 设成一样的值,避免 JVM 反复重新申请内存,导致性能大起大落,默认值为物理内存的 1/64,默认(MinHeapFreeRatio参数可以调整)空余堆内存小于 40% 时,JVM 就会增大堆直到 -Xmx 的最大限制。-Xmx:表示最大 Java 堆大小,当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃,因此一般建议堆的最大值设置为可用内存的最大值的80%。如何知道我的 JVM 能够使用最大值,使用 java -Xmx512M -version 命令来进行测试,然后逐渐的增大 512 的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息,默认值为物理内存的 1/4,默认(MinHeapFreeRatio参数可以调整)空余堆内存大于 70% 时,JVM 会减少堆直到-Xms 的最小限制。-Xss:表示每个 Java 线程堆栈大小,jdk 5.0 以后每个线程堆栈大小为 1M,以前每个线程堆栈大小为 256K。根据应用的线程所需内存大小进行调整,在相同物理内存下,减小这个值能生成更多的线程,但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在 3000~5000 左右。一般小的应用, 如果栈不是很深, 应该是128k 够用的,大的应用建议使用 256k 或 512K,一般不易设置超过 1M,要不然容易出现out ofmemory。这个选项对性能影响比较大,需要严格的测试。-XX:NewSize:设置新生代内存大小。-XX:MaxNewSize:设置最大新生代新生代内存大小-XX:PermSize:设置持久代内存大小-XX:MaxPermSize:设置最大值持久代内存大小,永久代不属于堆内存,堆内存只包含新生代和老年代。-XX:+AggressiveOpts:作用如其名(aggressive),启用这个参数,则每当 JDK 版本升级时,你的 JVM 都会使用最新加入的优化技术(如果有的话)。-XX:+UseBiasedLocking:启用一个优化了的线程,我们知道在我们的appserver,每个http请求就是一个线程,有的请求短有的请求长,就会有请求排队的现象,甚至还会出现线程阻塞,这个优化了的线程锁使得你的appserver内对线程处理自动进行最优调配。-XX:+UseConcMarkSweepGC:设置年老代为并发收集,即 CMS gc,这一特性只有 jdk1.5后续版本才具有的功能,它使用的是 gc 估算触发和 heap 占用触发。我们知道频频繁的 GC 会造面 JVM的大起大落从而影响到系统的效率,因此使用了 CMS GC 后可以在 GC 次数增多的情况下,每次 GC 的响应时间却很短,比如说使用了 CMSGC 后经过 jprofiler 的观察,GC 被触发次数非常多,而每次 GC 耗时仅为几毫秒。-XX:+UseParNewGC:对新生代采用多线程并行回收,这样收得快,注意最新的 JVM 版本,当使用 -XX:+UseConcMarkSweepGC 时,-XX:UseParNewGC 会自动开启。因此,如果年轻代的并行 GC 不想开启,可以通过设置 -XX:-UseParNewGC 来关掉。-XX:MaxTenuringThreshold:设置垃圾最大年龄。如果设置为0的话,则新生代对象不经过 Survivor 区,直接进入老年代。对于老年代比较多的应用(需要大量常驻内存的应用),可以提高效率。如果将此值设置为一 个较大值,则新生代对象会在 Survivor 区进行多次复制,这样可以增加对象在新生代的存活时间,增加在新生代即被回收的概率,减少Full GC的频率,这样做可以在某种程度上提高服务稳定性。该参数只有在串行 GC 时才有效,这个值的设置是根据本地的 jprofiler 监控后得到的一个理想的值,不能一概而论原搬照抄。-XX:+UseCMSCompactAtFullCollection:在使用 concurrent gc 的情况下,防止 memoryfragmention,对 live object 进行整理,使 memory 碎片减少。-XX:+UseFastAccessORMethods:使用 get,set 方法转成本地代码,原始类型的快速优化。-Djava.awt.headless=true:这个参数一般我们都是放在最后使用的,这全参数的作用是这样的,有时我们会在我们的 J2EE 工程中使用一些图表工具如:jfreechart,用于在 WEB 网页输出 GIF/JPG 等流,在 winodws 环境下,一般我们的 app server 在输出图形时不会碰到什么问题,但是在linux/unix 环境下经常会碰到一个 exception 导致你在 winodws 开发环境下图片显示的好好可是在 linux/unix 下却显示不出来,因此加上这个参数以免避这样的情况出现。-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2 survivor space)。与 jmap -heap 中显示的 New gen 是不同的。整个堆大小 = 新生代大小 + 老生代大小 + 永久代大小。在保证堆大小不变的情况下,增大新生代后,将会减小老生代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的 3/8。-XX:NewRatio:年轻代(包括 Eden 和两个 Survivor 区)与年老代的比值(除去持久代),-XX:NewRatio=4 表示年轻代与年老代所占比值为 1:4,年轻代占整个堆栈的 1/5,Xms=Xmx 并且设置了 Xmn 的情况下,该参数不需要进行设置。-XX:SurvivorRatio:Eden 区与 Survivor 区的大小比值,设置为 8,表示 2 个 Survivor 区(JVM 堆内存年轻代中默认有 2 个大小相等的 Survivor 区)与 1 个 Eden 区的比值为 2:8,即 1 个 Survivor 区占整个年轻代大小的 1/10。-XX:+UseSerialGC:设置串行收集器。-XX:+UseParallelGC:设置为并行收集器。此配置仅对年轻代有效。即年轻代使用并行收集,而年老代仍使用串行收集。-XX:+UseParallelOldGC:配置年老代垃圾收集方式为并行收集,JDK6.0 开始支持对年老代并行收集。-XX:OldSize:设置 JVM 启动分配的老年代内存大小,类似于新生代内存的初始大小 -XX:NewSize。

Tomcat的字符集配置优化

Tomcat 的语言编码,配置起来很慢,要经过多次设置才可以了,否则中文很有可能出现乱码情况。譬如汉字“中”,以 UTF-8 编码后得到的是 3 字节的值 %E4%B8%AD,然后通过 GET 或者 POST 方式把这 3 个字节提交到 Tomcat 容器,如果你不告诉 Tomcat 我的参数是用 UTF-8编码的,那么 Tomcat 就认为你是用 ISO-8859-1 来编码的,而 ISO8859-1(兼容 URI 中的标准字符集 US-ASCII)是兼容 ASCII 的单字节编码并且使用了单字节内的所有空间,因此 Tomcat 就以为你传递的用 ISO-8859-1 字符集编码过的 3 个字符,然后它就用 ISO-8859-1 来解码。

设置起来不难使用“ -D= ”来设置系统属性:

-Djavax.servlet.request.encoding=UTF-8-Djavax.servlet.response.encoding=UTF-8-Dfile.encoding=UTF-8-Duser.country=CN-Duser.language=zh

到此,相信大家对“TOMCAT配置优化的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: TOMCAT配置优化的方法是什么

本文链接: https://www.lsjlt.com/news/312549.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • TOMCAT配置优化的方法是什么
    本篇内容主要讲解“TOMCAT配置优化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TOMCAT配置优化的方法是什么”吧!Tomcat连接器协议优化Tomcat 连接器的三种方式: ...
    99+
    2023-06-27
  • Tomcat的配置方法是什么
    Tomcat的配置方法有两种:命令行配置和图形界面配置。1. 命令行配置:a. 打开Tomcat的安装目录。b. 进入conf文件夹...
    99+
    2023-09-11
    Tomcat
  • mongodb配置优化的方法是什么
    MongoDB的配置优化方法可以帮助提升数据库性能和稳定性。以下是一些常见的MongoDB配置优化方法: 确保使用最新版本的Mo...
    99+
    2024-04-10
    mongodb
  • win7优化配置的方法是什么
    本文小编为大家详细介绍“win7优化配置的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“win7优化配置的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win7优化配置的方法首先点击计算机,...
    99+
    2023-07-01
  • eclipse配置tomcat的方法是什么
    要配置Eclipse使用Tomcat作为服务器,可以按照以下步骤进行操作:1. 首先,确保已经在计算机上安装了Tomcat服务器,并...
    99+
    2023-09-22
    eclipse tomcat
  • tomcat timeout配置的方法是什么
    Tomcat的超时配置方法取决于您希望配置的超时类型。以下是一些常用的超时配置方法:1. 连接超时配置:配置连接超时时间,即等待客户...
    99+
    2023-09-29
    tomcat
  • idea配置tomcat的方法是什么
    配置Tomcat的方法主要包括以下步骤: 下载Tomcat:首先需要从Tomcat官方网站(https://tomcat.apa...
    99+
    2024-04-08
    idea tomcat
  • tomcat配置jdk的方法是什么
    要配置Tomcat使用特定的JDK,可以按照以下步骤进行:1. 确保已经安装了JDK并设置了JAVA_HOME环境变量。2. 打开T...
    99+
    2023-08-17
    tomcat jdk
  • idea中配置tomcat的方法是什么
    本文小编为大家详细介绍“idea中配置tomcat的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“idea中配置tomcat的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.先安装Tomc...
    99+
    2023-07-05
  • tomcat路径配置的方法是什么
    在Tomcat中配置路径可以通过修改server.xml文件中的元素来实现。以下是一种常见的配置方法: 打开Tomcat安装目录...
    99+
    2024-03-02
    tomcat
  • Tomcat中性能优化的方法是什么
    调整JVM参数:通过调整JVM参数来优化Tomcat的性能,可以提高Tomcat的运行效率。例如增加堆内存大小、调整垃圾回收策略...
    99+
    2024-04-03
    Tomcat
  • tomcat高并发优化的方法是什么
    Tomcat高并发优化的方法包括:1. 配置线程池:通过调整Tomcat的线程池配置参数,可以提高并发处理能力。可以增加线程池的最大...
    99+
    2023-10-12
    tomcat
  • eclipse中tomcat配置的方法是什么
    在Eclipse中配置Tomcat的方法如下: 首先确保已经在Eclipse中安装了Tomcat插件,可以在Eclipse Ma...
    99+
    2024-03-11
    eclipse tomcat
  • tomcat虚拟主机的配置方法是什么
    要配置Tomcat虚拟主机,您可以按照以下步骤进行操作:1、在Tomcat的conf/server.xml配置文件中添加一个Host...
    99+
    2023-03-21
    tomcat虚拟主机 虚拟主机
  • tomcat文件下载配置的方法是什么
    要配置Tomcat服务器以允许文件下载,可以按照以下步骤进行操作: 在Tomcat的配置文件server.xml中添加一个Cont...
    99+
    2024-04-09
    tomcat
  • 配置tomcat虚拟主机的方法是什么
    配置Tomcat虚拟主机的步骤如下:1. 在Tomcat的conf/server.xml文件中添加Host元素,指定虚拟主机的名称和...
    99+
    2023-06-08
    tomcat虚拟主机 虚拟主机
  • Tomcat配置环境变量的方法是什么
    配置Tomcat的环境变量可以通过以下方法:1. 手动配置:打开Tomcat安装目录下的bin文件夹,找到catalina.bat(...
    99+
    2023-09-15
    Tomcat
  • tomcat配置环境及安装的方法是什么
    Tomcat是一种常用的Java Servlet容器,可以运行Java Web应用程序。下面是Tomcat的配置环境及安装方法:1....
    99+
    2023-06-13
    tomcat配置 tomcat
  • win7优化设置的方法是什么
    今天小编给大家分享一下win7优化设置的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win7优化设置教程小白也能...
    99+
    2023-07-01
  • IIS服务器与web.config配置优化的方法是什么
    这篇“IIS服务器与web.config配置优化的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“IIS服务器与we...
    99+
    2023-06-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作