Java编程——Tomcat基本概念及常用调优方式

Java编程——Tomcat基本概念及常用调优方式

 

Tomcat是什么

开源的 Java Web 应用服务器,实现了 Java EE(Java Platform Enterprise Edition)的部 分技术规范,比如 Java Servlet、Java Server Page、JSTL、Java WebSocket。Java EE 是 Sun 公 司为企业级应用推出的标准平台,定义了一系列用于企业级开发的技术规范,除了上述的之外,还有 EJB、Java Mail、JPA、JTA、JMS 等,而这些都依赖具体容器的实现

Java编程——Tomcat基本概念及常用调优方式

 

上图对比了 Java EE 容器的实现情况,Tomcat 和 Jetty 都只提供了 Java Web 容器必需的 Servlet 和 JSP 规范,开发者要想实现其他的功能,需要自己依赖其他开源实现。

Glassfish 是由 sun 公司推出,Java EE 最新规范出来之后,首先会在 Glassfish 上进行实 现,所以是研究 Java EE 最新技术的首选。

最常见的情况是使用 Tomcat 作为 Java Web 服务器,使用 Spring 提供的开箱即用的强大 的功能,并依赖其他开源库来完成负责的业务功能实现


常用调优方式1 : 修改…/bin/catalina.sh(启动时优化)

Windows下为catalina.bat

  • 添加参数:

export JAVA_OPTS=”-server”

  • 作用:tomcat默认以java –client方式运行, 添加”server”参数将tomcat切换为生产模式,使得tomcat能支持更高的并发数和吞吐量.
  • 测试结果:
  • 修改前:

Java编程——Tomcat基本概念及常用调优方式

 

  •  

Java编程——Tomcat基本概念及常用调优方式

 

  •  
  • 修改后:

Java编程——Tomcat基本概念及常用调优方式

 

  •  

Java编程——Tomcat基本概念及常用调优方式

 

总结:

最大并发数和吞吐量有明显的提升.


常用调优方式2:

添加参数:

export JAVA_OPTS=”-server -Xms256M -Xmx256M”

  • 作用:Xms参数表示初始堆的大小,也是堆大小的最小值,默认值是总共的物理内存1/64, 且小于1G(下面是-Xmx同), Xmx参数表示堆的最大值.在本机中这个参数的值大约为128m.这里将其扩大一倍.正常情况下应当将这个参数的数值设置为相同.还有另外一些参数,如Xss,表示每个线程的栈内存,默认为1M,但经过查阅资料表明这些参数一般情况下不需要改动.即增加堆内存是提高tomcat内存性能最好最安全的做法.
  • 测试结果:

Java编程——Tomcat基本概念及常用调优方式

 

  •  

Java编程——Tomcat基本概念及常用调优方式

 

总结:

对比上个参数,可以明显看到并发请求的平均值,中值都有2-3倍的提升,最大值和吞吐率出现了下降.个人猜测吞吐率的下降是因为在吞吐量一定的情况下,每秒并发数的提高拉低了该数值.并发最大值的降低,平均值的升高表明在此配置下系统的处理能力已经有了提高,并且稳定性也得到提升.

欢迎工作一到五年的Java工程师朋友们加入Java架构开发:468947140

点击链接加入群聊【Java-BATJ企业级资深架构】:https://jq.qq.com/?_wv=1027&k=5zMN6JB

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导

Java编程——Tomcat基本概念及常用调优方式

上一篇:ThinkPHP2.1 增加PHPCMS模板引擎,支持PC标签(get,json)


下一篇:greenplum 4.1 版本及老版本如何使用读写外部表+管道实现gptransfer同步功能