Tomcat详解(六)——Tomcat运行模式调优

简介: Tomcat详解(六)——Tomcat运行模式调优

今天继续给大家介绍Linux运维相关知识,本文主要内容是Tomcat运行模式调优实战。

一、Tomcat运行模式
Tomcat有三种运行模式,分别是BIO、NIO和APR。BIO是阻塞式操作,使用的是传统的JAVA I/O处理模式,对于每一个请求都要创建一个线程来处理,因此开销比较大,不适合处理高并发的场景。NIO是基于java中非阻塞I/O操作的API实现,比传统的I/O处理方式有更高的并发处理性能。APR则是从操作系统层面解决异步I/O问题,大幅度提升服务器的并发处理能力,也是在生产环境中Tomcat的常见运行模式之一。
在默认情况下,Tomcat是处于NIO的运行模式下,我们可以通过查看Tomcat的日志来确定Tomcat的运行模式。在NIO模式下,Tomcat日志显示如下:

二、Tomcat运行模式修改
在生产环境中,我们需要吧Tomcat的运行模式修改为APR的模式,要进行这一步修改,我们需要安装Tomcat-Native和APR。
APR的安装我们可以直接通过YUM的方式进行,执行命令:

yum install -y apr-devel
1
即可。
至于Tomcat-Native的安装,在Tomcat8版本之后,Tomcat-Native会在Tomcat压缩包中存在,默认在bin目录下,如下所示:

在Tomcat8版本之前,我们也可以前往Tomcat的官网进行下载,如下所示:

下载完成后,解压,解压后文件如下所示:

解压完成后,进入到native目录,里面有configure预编译脚本,预编译时,我们需要指明APR的依赖和JAVA的安装目录,因此,预编译命令为:

./configure --with-apr=/usr/ --with-java-home=/usr/java/jdk1.8.0_191
1
编译和安装命令为:

make && make install
1
完成安装操作后,我们需要添加库文件,打开文件/etc/ld.so.conf,在该文件的末尾添加内容:

/usr/local/apr/lib
1
然后执行命令:

ldconfig
echo "ldconfig" >>/etc/rc.local
1
2
然后添加环境变量,新创建文件/etc/profile.d/jdk8.sh,在该文件中写入如下内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
1
然后执行命令:

source /etc/profile.d/jdk8.sh
1
完成上述操作后,我们还需要更改Tomcat的主配置文件,将Connectoru元素的protocol属性修改为org.apache.coyote.http11.Http11AprProtocol,修改完成后的主配置文件如下所示:

接下来,我们需要引用APR,打开/usr/local/tomcat/apache-tomcat-8.5.54/bin/catalina.sh文件,在文件中添加如下内容:

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"
1
如下所示:

这样,我们的Tomcat运行模式就已经配置完成了。

三、效果检验
最后,让我们检验一下配置的结果。重启Tomcat服务,查找日志文件,如下所示:

可以看到,Tomcat已经以APR的方式运行,我们的配置生效!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/123256442

目录
相关文章
|
7月前
|
缓存 前端开发 JavaScript
tomcat核心技术+Nginx性能调优技术
而Tomcat的基本配置,每个配置项也基本上对应了Tomcat的组件结构,如果要用一张图来形象展现一下Tomcat组成的话
128 1
|
7月前
|
设计模式 网络协议 Java
Tomcat 高并发之道原理拆解与性能调优
Tomcat 高并发之道原理拆解与性能调优
120 0
|
7月前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
112 0
|
6月前
|
Web App开发 移动开发 Java
基于tomcat运行HTML5 WebSocket echo例子
基于tomcat运行HTML5 WebSocket echo例子
58 2
|
2月前
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。
|
4月前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
|
5月前
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
|
5月前
|
应用服务中间件
修改Tomcat路径不变怎么办,点击clear清空,重新运行
修改Tomcat路径不变怎么办,点击clear清空,重新运行
|
6月前
|
Java 应用服务中间件 Linux
Tomcat 调优及 JVM 参数优化
Tomcat 调优及 JVM 参数优化
|
7月前
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
57 6