Tomcat基本概念及常用调优方式

Posted ET之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 等,而这些都依赖具体容器的实现

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能支持更高的并发数和吞吐量.

测试结果:

修改前:

Tomcat基本概念及常用调优方式


Tomcat基本概念及常用调优方式


修改后:

Tomcat基本概念及常用调优方式


Tomcat基本概念及常用调优方式


总结:

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

常用调优方式2:

添加参数:

export JAVA_OPTS=”-server -Xms256M -Xmx256M”

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

测试结果:



总结:

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


以上是关于Tomcat基本概念及常用调优方式的主要内容,如果未能解决你的问题,请参考以下文章

图论基本概念及存储结构遍历方式

kubernetes 入门Pod概念及网络通信方式

C++11多线程第一篇:并发基本概念及实现,进程线程基本概念

C++11多线程第一篇:并发基本概念及实现,进程线程基本概念

GAN(1) GAN介绍: 基本概念及逻辑

数据结构复习笔记——树的基本概念及结构