1、环境:

  系统:Windows、Linux

  Tomcat版本:9

2、编码与性能调优

  server.xml文件:

<Connector port="8080" connectionTimeout="20000" redirectPort="8443"
  protocol="org.apache.coyote.http11.Http11NioProtocol"
  enableLookups="false"
  maxThreads="1000"
  minSpareThreads="100"
  acceptCount="1500"
  disableUploadTimeout="true"
  URIEncoding="UTF-8"
  compression="on"
  compressionMinSize="1024"
  useSendfile="false"
  noCompressionUserAgents="gozilla, traviata"
  compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
/>

  参数说明:

    • org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio
    • maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。
    • minSpareThreads:最小空闲线程数。
    • acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。
    • disableUploadTimeout:禁用上传超时时间
    • connectionTimeout:连接超时,单位毫秒,0代表不限制
    • URIEncoding:URI地址编码使用UTF-8
    • enableLookups:关闭dns解析,提高响应时间
    • compression:启用压缩功能
    • compressionMinSize:最小压缩大小,单位Byte
    • compressibleMimeType :压缩的文件类型

3、内存配置

  打开$TOMCAT_HOME/bin/catalina.sh文件(Windows系统是catalina.bat文件),大楖在250行左右,在JAVA_OPTS参数上添加内存参数设置即可

  catalina.sh:

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"

  catalina.bat:

set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"

  -server参数:表示以服务模式启动,启动速度会稍微慢一点,但性能会高很多。不加这个参数,默认是以客户端模式启动。 
  java.awt.headless=true参数:与图形操作有关,适用于Linux系统。如生成验证码,含义是当前使用的是没有安装图安装图形界面的服务器,应用中如果获取系统显示有关参数会抛异常,可通过jmap -heap proccess_id查看设置是否成功。

4、启用后台管理

  conf\tomcat-users.xml

<role rolename="manager-status"/>
<role rolename="manager"/>
<role rolename="manager-jmx"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin"/>
<user username="admin" password="123" roles="manager,manager-gui,admin,manager-status,manager-jmx,manager-script"/>

  webapps\manager\META-INF\context.xml

<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

5、修改进程名称

  setclasspath.bat,找到set _RUNJAVA=”%JRE_HOME%\bin\java”这一行。 将该行注释掉 ,然后在该行下面添加如下两行并进行保存:

copy "%JRE_HOME%\bin\java.exe" "%JRE_HOME%\bin\my_java.exe"
set _RUNJAVA="%JRE_HOME%\bin\my_java"

  setclasspath.sh,找到_RUNJAVA="$JRE_HOME"/bin/java这一行, 并注释掉,然后在该行下面添加如两行并进行保存:

cp "$JRE_HOME"/bin/java "$JRE_HOME"/bin/my_java
_RUNJAVA="$JRE_HOME"/bin/my_java

  

Tomcat优化配置的更多相关文章

  1. tomcat 优化配置 java-8 tomcat-7

    tomcat 优化配置 , 说明 一.并发优化 1.JVM调优 以下为1G物理内存tomcat配置: JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256 ...

  2. Tomcat记录-tomcat常用配置详解和优化方法(转载)

    常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...

  3. tomcat常用配置详解和优化方法

    tomcat常用配置详解和优化方法 参考: http://blog.csdn.net/zj52hm/article/details/51980194 http://blog.csdn.net/wuli ...

  4. tomcat 的优化配置

    一.关于并发连接量的配置 在tomcat的server.xml配置文件中:将<Connector port="8080" protocol="HTTP/1.1&qu ...

  5. Linux下jvm、tomcat、mysql、log4j优化配置笔记

    小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存 ...

  6. Tomcat 安全配置与性能优化

    一.Tomcat内存优化 1.JAVA_OPTS参数说明 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OP ...

  7. Linux下jvm、tomcat、mysql、log4j优化配置

    小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存 ...

  8. Linux下jvm、tomcat、mysql、log4j优化配置笔记[转]

    小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存 ...

  9. Tomcat 优化方案 和 配置详解(转)

    转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...

随机推荐

  1. 用主题模型可视化分析911新闻(Python版)

    本文由 伯乐在线 - 东狗 翻译,toolate 校稿.未经许可,禁止转载!英文出处:blog.dominodatalab.com.欢迎加入翻译小组. 本文介绍一个将911袭击及后续影响相关新闻文章的 ...

  2. Perl复制、移动、重命名文件/目录

    File::Copy复制文件 File::Copy模块提供了copy函数和cp函数来复制文件,它们参数上完全一致,但行为上稍有区别. 用法大致如下: use File::Copy qw(copy cp ...

  3. Android Studio 日志工具

    在项目中提供5个方法打印日志 Log.v() 最常见的日志信息 Log.d() 调试信息 Log.i() 用于打印用户操作行为 Log.w()警告潜在风险 Log.e()报错信息 TAG 填入类名就好 ...

  4. T-SQL基础(二)之关联查询

    在上篇博文中介绍了T-SQL查询的基础知识,本篇主要介绍稍微复杂的查询形式. 表运算符 表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果.SQL Server支持四个表运算符: ...

  5. 48.Linux-普通U盘以及多分区U盘自动挂载

    在上章学习33.Linux-实现U盘自动挂载(详解)后,只是讲解了普通U盘挂载,并没有涉及到多分区U盘,接下来本章来继续学习 1.多分区U盘和普通U盘区别 1)U盘插上只会创建一个/dev/sda文件 ...

  6. js数据类型有哪些,js属性和方法的归属,

    1.js的数据类型有哪些? 2.全局方法和全局属性? 一 1.js的本质就是处理数据,数据来自后台的数据库.所以变量就起到一个临时存储数据的作用. ECMAScript 制定了js的数据类型. 数据类 ...

  7. mysql不能保存中文

    进入mysql文件夹,新建(修改) my.ini 文件, 修改编码 内容如下: [mysql] default-character-set=utf8

  8. JUnit4注解

    今天学习了下,mybatis中开发dao的方法,用到了JUnit4进行单元测试, 将JUnit4中的注解总结了下,供大家参考学习: JUnit 4 开始使用 Java 5 中的注解(annotatio ...

  9. Less 结合 nth-child 选择器循环生成样式

    问题描述: 实现头像的堆叠效果 从第二个头像开始,每个头像都会盖住前一个头像上,遮盖的宽度为 30px 实现叠加的方式有很多,比如给每个头像添加 translateX 属性,或者使用负值 margin ...

  10. MySQL数据库锁类型

    锁概念 : 当高并发访问同一个资源时,可能会导致数据不一致,需要一种机制将用户访问数据的顺序进行规范化,以保证数据库数据的一致性.锁就是其中的一种机制. 一个栗子 :以买火车票为例,火车票可面向广大消 ...