通常我们的应用都是部署在tomcat中,那么针对tomcat可以进行如下配置优化

删减配置

  1. 移除conf/web.xml中的org.apache.catalina.servlets.DefaultServlet
  2. 移除conf/web.xml中的org.apache.jasper.servlet.JspServlet
    JspServlet:编译并且执行Jsp页面
    DefaultServlet:处理静态资源
    视情况而定,不需要处理Jsp和静态资源时即可移除掉
  3. 移除conf/web.xml中的welcome-file-list
    <welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    
  4. 如果程序是REST JSON、Content-Type或者MIME TYPE:application/json时移除conf/web.xml中的mime-mapping
    <mime-mapping><extension>123</extension><mime-type>application/vnd.lotus-1-2-3</mime-type>
    </mime-mapping>
    <mime-mapping><extension>3dml</extension><mime-type>text/vnd.in3d.3dml</mime-type>
    </mime-mapping>
    <mime-mapping><extension>3ds</extension><mime-type>image/x-3ds</mime-type>
    </mime-mapping>
    
  5. 移除conf/web.xml中的session-config
    <session-config><session-timeout>30</session-timeout>
    </session-config>
    
  6. 移除Valve
    valve作用打印accesslog,可以通过nginx的AccessLog打印该日志

    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs"
    prefix="localhost_access_log."
    suffix=".txt"
    pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    

配置调整

  1. 关闭自动重载
    conf/server.xml中Context元素的reloadable=false

    <Context docBase="D:/compile/demo" reloadable="false">
    </Context>
    
  2. 修改连接线程池数量
    conf/server.xml中的Executor

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="150" minSpareThreads="4"/>
    

JVM调优

  1. 内存设置
    JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m"

  2. 调整GC算法
    如果JAVA版本小于9,默认PS MarkSweep,可选设置CMS、G1。
    如果JAVA9的话,默认G1


Springboot下的tomcat参数设置

  1. 继承WebServerFactoryCustomizer类
public class TomcatConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {@Overridepublic void customize(ConfigurableWebServerFactory factory) {factory.setPort(8080);}
}
  1. application.properties
#线程池
server.tomcat.max-threads=200
server.tomcat.min-spare-threads=10#取消JspServlet
server.jsp-servlet.registered=false#取消 AccessLogValve
server.tomcat.accesslog.enabled=false

性能优化-Tomcat调优相关推荐

  1. Java性能优化,操作系统内核性能调优,JYM优化,Tomcat调优

    文章目录 Java性能优化 尽量在合适的场合使用单例 尽量避免随意使用静态变量 尽量避免过多过常地创建Java对象 尽量使用final修饰符 尽量使用局部变量 尽量处理好包装类型和基本类型两者的使用场 ...

  2. Java生产环境下性能监控与调优详解 第5章 Tomcat性能监控与调优

    第5章 Tomcat性能监控与调优 5-1 tomcat远程debug 5-2 tomcat-manager监控 5-3 psi-probe监控 5-4 tomcat优化

  3. tomcat优化(五)tomcat调优

    Tomcat 调优大致分为两大类: 1.Tomcat 的自身调优: 采用动静分离节约 Tomcat 的性能 禁用 AJP 连接器 调整 Tomcat 的线程池 调整 Tomcat 的连接器 修改 To ...

  4. zz温故知新:Tomcat调优JVM内存性能调优

    Java性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面) 代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容如下: 1. ...

  5. Tomcat调优和JVM优化

    title: Tomcat调优和JVM优化 date: 2018-7-22 19:27:56 tags: [Tomcat,Java,JVM] categories: [JVM] Tomcat本身优化 ...

  6. 性能监控与调优篇之【3. JVM 监控及诊断工具-GUI 篇】

    文章目录 3. JVM 监控及诊断工具-GUI 篇 3.1. 工具概述 3.2. JConsole 3.3. Visual VM 3.4. Eclipse MAT 3.5. JProfiler 3.6 ...

  7. <JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  8. Tomcat调优总结

    Tomcat 优化分为系统优化,Java虚拟机调优,Tomcat本身的优化. Tomcat 如何起停 ./catalina.sh stop ./catalina.sh start /sbin/serv ...

  9. Tomcat调优指南

    1          概述 本文档主要介绍了Tomcat的性能调优的原理和方法.可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导手册. 2    ...

最新文章

  1. ceph bluestore源码分析:非对齐写逻辑
  2. PAGER set to stdout_Python || 学习笔记(4):dictamp;amp;set
  3. php 字节序,Linux_Linux中网络字节序和主机字节序,主机字节序就是我们平常说的 - phpStudy...
  4. ubuntu10.04共享文件夹
  5. spark写mysql优化简书_spark——通过jdbc连接数据库中遇到的问题
  6. HDU 1754 I Hate It 线段树
  7. 如何定制化SAP Spartacus的页面布局
  8. leetcode41 --- firstMissingPositive
  9. 如何识别训练集中没有的类别样本
  10. xtrabackup备份mysql_xtrabackup备份mysql
  11. java 队列总结queue v3 svv.docxjava 队列总结queue v3 svv.docx atitit. java queue 队列体系总结o7t 1. 队列概念 1 1.1. 队列
  12. 浅析机关单位人力资源内部控制
  13. 【经验分享】学长,我也想考清华!
  14. 大学生计算机学科竞赛a类,全国大学生学科竞赛分类名单
  15. 网络测试丢包软件,网络掉包率测试工具
  16. 天宝数字水准仪数据格式转换
  17. VC++6.0 MFC显示模态对话框和非模态对话框
  18. 【数学建模和matlab】反思与总结(1)
  19. 【Leetcode】1833. 雪糕的最大数量
  20. 成都北大青鸟怎么样?

热门文章

  1. Keil中代码前进后退跳转快捷键修改
  2. 华为鸿蒙8g运存够用吗,华为是最强的国产安卓手机,6G和8G运存的区别是什么?...
  3. word如何添加页码
  4. C语言 文件的打开方式
  5. 理论篇如何学习硬件设计
  6. 关于gist.github.com网站不能访问的解决办法
  7. 论文笔记2:Deep Attention Recurrent Q-Network
  8. .NET项目运行错误:未能加载文件或程序集“CefSharp.Core.Runtime.dll”或它的某一个依赖项。找不到指定的模块
  9. 学习ifconfig实战技巧,成为网络管理高手
  10. 千峰java 笔记整理_JAVA学习笔记系列:菜鸟Vue学习笔记(四)