Tomcat调优

Tomcat优化

隐层版本信息

隐藏HTTP 头部的版本信息

编辑server.xml,为Connector 添加 server 属性

[root@wzy ~]# vi /usr/local/tomcat/conf/server.xml

添加红色部分的server属性

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" server="APP Srv1.0"/>

重启tomcat服务

[root@wzy ~]# systemctl restart tomcat

[root@wzy ~]# netstat -anplt | grep java

验证结果

192.168.10.5:8080/index.jsp

F12 然后刷新页面,查看网络,点index.jsp看标头版本号已改

隐藏404页面出现的版本号

有时候为了服务器安全很多信息是不能显露出来了,这其中就包含了tomcat服务器的版本号。
修改前如下:

针对该信息的显示是由一个jar包控制的,该jar包存放在 Tomcat 安装目录下的lib目录下,名称为 catalina.jar。

我们可以通过 jar xf unzip命令解压这个 jar 包会得到两个目录 META-INF 和 org ,通过修改org/apache/catalina/util/ServerInfo.properties 文件中的 serverinfo 字段来实现来更改我们tomcat的版本信息。

进入tomcat的lib目录找到catalina.jar文件

[root@wzy ~]# cd /usr/local/tomcat/lib/

解压catalina.jar包

[root@wzy lib]# jar xf catalina.jar

修改ServerInfo.properties文件

进入org/apache/catalina/util 编辑配置文件ServerInfo.properties

[root@wzy lib]# cd org/apache/catalina/util

[root@wzy util]# vi ServerInfo.properties

server.info= app srv/1.0

server.number=1.0

server.built=Jun 4 2019 20:29:04 UTC

将修改后的信息压缩回jar包

[root@wzy util]# cd /usr/local/tomcat/lib/

[root@wzy lib]# jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

删除解压目录

[root@wzy lib]# rm -rf META-INF/  org/

重启tomcat

[root@wzy lib]# systemctl restart tomcat

[root@wzy lib]# netstat -anplt | grep java

测试

http://192.168.10.5:8080/abc.jsp

Tomcat 中的三种运行模式之运行模式的优化

Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 。

BIO(Blocking IO,阻塞式):

阻塞式I/O操作即使用的是传统 I/O操作,Tomcat7以下版本默认情况下是以BIO模式运行的,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能也最低。

NIO(Non-blocking IO,非阻塞IO):

NIO是Java 1.4 及后续版本提供的一种新的I/O操作方式,是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,利用java异步IO技术使Tomcat运行性能有所提升,可以通过少量的线程处理大量的请求。它拥有比传统I/O操作(BIO)更好的并发运行性能。tomcat 8版本及以上默认就是在NIO模式下允许。

Java NIO 可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。Tomcat8 在Linux系统中默认使用这种方式。

启动Tomcat后,在/usr/local/tomcat/logs/catalina.out日志中可以查看tomcat8运行模式时NIO。

不过,在tomcat8中有最新的nio2,速度更快,建议使用nio2

修改配置文件

[root@wzy ~]# vim /usr/local/tomcat/conf/server.xml #修改

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Tomcat调优面试题的答案: 1. Tomcat的缺省端口是多少,怎么修改? Tomcat的缺省端口是8080,可以通过修改server.xml文件中的Connector节点来修改端口号。 2. tomcat 有哪几种Connector 运行模式(优化)? Tomcat有三种Connector运行模式:BIO、NIO和APR。其中,BIO是传统的阻塞式I/O模式,NIO是非阻塞式I/O模式,APR是使用本地库实现的高性能模式。 3. Tomcat有几种部署方式? Tomcat有两种部署方式:WAR包部署和目录部署。WAR包部署是将应用程序打包成WAR包,然后将WAR包放到Tomcat的webapps目录下;目录部署是将应用程序解压到Tomcat的webapps目录下。 4. tomcat容器是如何创建servlet类实例?用到了什么原理? Tomcat容器在启动时会扫描web.xml文件,将其中的servlet类加载到内存中,并创建servlet实例。Tomcat使用Java反射机制来创建servlet实例。 5. tomcat 如何优化? Tomcat的优化可以从多个方面入手,包括内存调优、垃圾回收策略调优、共享session处理、添加JMS远程监控、使用专业的分析工具等。 6. 内存调优 可以通过调整JVM的内存参数来进行内存调优,例如-Xms和-Xmx参数可以分别设置JVM的初始内存和最大内存。 7. 垃圾回收策略调优 可以通过调整JVM的垃圾回收策略来进行垃圾回收策略调优,例如使用CMS垃圾回收器或G1垃圾回收器。 8. 共享session处理 可以使用集中式session管理方案,例如使用Redis等缓存服务器来存储session数据,从而实现session共享。 9. 添加JMS远程监控 可以使用JMX来进行远程监控,例如使用JConsole等工具来监控Tomcat的运行状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值