tomcat性能优化之apr通道安装配置(linux环境)

tomcat性能优化之apr通道安装配置(linux环境)

1.tomcat的3种运行模式

tomcat支持的三种接收请求的处理方式:BIO,NIO,APR

BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即:java.io包及其子包);Tomcat 7以下版本默认情况下是以BIO模式运行的,由于每个请求的都要创建一个线程来处理,因此 线程的开销较大,不能处理高兵的场景,在三种模式中性能也最低效;启动Tomcat看日志如下表示为BIO模式;

NIO模式:是Java SE 1.4以后续版本提供的一种新的I/O操作方式(即:java.nio包及其子包);是一个基于 缓存区、并提供非阻塞I/O操作的Java API,它拥有比传统的I/O操作(BIO)更好的并发运行性能;

APR模式:简单理解就是,从操作系统级别解决异步IO问题,大幅度的提高服务器的处理合相应性能,也是Tomcat运行高并发应用的首选模式;

三种模式的特征

模式默认运行版本处理方式
BIO运行模式Tomcat7或以下版本一个线程处理一个请求;缺点:并发量高是,线程数较多,浪费资源;
NIO模式Tomct8版本利用Java的异步IO处理,可通过少量的线程处理大量请求;
APR运行模式Tomcat7 或 8 在win7或以上系统中默认使用(Linux需要进行配置)从操作系统层面解决IO阻塞问题;

tomcat的运行模式可以在tomcat启动时通过Catalina.out启动日志查看:

Starting ProtocolHandler ["http-bio-8080"] ## BIO模式	
Starting ProtocolHandler ["http-nio-8080"] ## NIO模式	
Starting ProtocolHandler ["http-apr-8080"] ## APR模式

2.Tomcat APR模式配置(Linux环境)

自Tomcat 8.5 版本开始,Tomcat就移除了对BIO的支持,改用了NIO的方式因此NIO的配置方式不再进行赘述,如有需要请自行百度。

  • **APR模式:**简单来说,就是从操作系统级别解决异步IP问题,大幅度的提高服务器的处理和响应性能,也是Tomcat运行高并发应用的首选模式;
  • 启动这种模式需要安装一些依赖库,下面进行详细说明:

配置要求:

  • Centos

  • gcc, expat-devel,perl-5

  • apr,apr-until

  • tomcat-native,openssl

  • tomcat8.5+

  1. 防火墙关闭

    systemctl status firewalld #检查防火墙状态

    systemctl stop firewalld #关闭防火墙

    systemctl disable firewalld.service #设置开机禁用防火墙

  2. 安装wget

    yum -y install wget

  3. 安装jdk

    jdk请自行到oracle官网下载

    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

    配置:

    cd /usr/local
    tar -zxvf jdk-8u271-linux-x64.tar.gz
    mv jdk1.8.0_271/ /usr/local/jdk
    vi /etc/profile

    export JAVA_HOME=/usr/local/jdk

    export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

    source /etc/profile

  4. 安装gcc, expat-devel,perl-5

    yum install -y gcc
    yum install -y expat-devel
    yum install -y wget
    cd /usr/local
    wget http://mirrors.ustc.edu.cn/CPAN/src/5.0/perl-5.30.1.tar.gz
    tar -xzf perl-5.30.1.tar.gz
    cd perl-5.30.1
    ./Configure -des -Dprefix=$HOME/localperl
    make
    make install

  5. 安装apr

    cd /usr/local
    wget https://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz
    tar -zxvf apr-1.6.5.tar.gz
    cd apr-1.6.5
    ./configure --prefix=/usr/local/apr && make && make install

  6. 安装apr-util

    cd /usr/local
    wget https://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
    tar -zxvf apr-util-1.6.1.tar.gz
    cd apr-util-1.6.1
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

  7. 安装zlib

    wget http://www.zlib.net/zlib-1.2.11.tar.gz
    tar -zxvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11
    ./configure --shared && make test && make install
    cp zutil.h /usr/local/include
    cp zutil.c /usr/local/include

  8. 安装/升级openssl

    cd /usr/local
    wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
    tar -zxvf openssl-1.0.2l.tar.gz
    cd openssl-1.0.2l
    ./config shared zlib #配置
    make && make install #解析和安装
    make clean #清除掉配置编译的一些文件
    rm -rf openssl* #删除 可以保留
    mv /usr/bin/openssl /usr/bin/openssl.bak #复制老的做备份
    mv /usr/include/openssl /usr/include/openssl.bak #复制老的做备份
    ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl #建立新的软链接 usr/local/ssl/为安装路径
    ln -sf /usr/local/ssl/include/openssl /usr/include/openss #建立新的软链接 usr/local/ssl/为安装路径
    echo “/usr/local/ssl/lib” >> /etc/ld.so.conf #写入openssl库文件的搜索路径
    ldconfig -v #使修改后的/etc/ld.so.conf生效
    openssl version #查看新版号

  9. 安装tomcat-native

    cd /usr/local
    wget https://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.14/source/tomcat-native-1.2.14-src.tar.gz
    tar -zxvf tomcat-native-1.2.14-src.tar.gz
    cd tomcat-native-1.2.14-src/native
    ./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/jdk/ --with-ssl=/usr/local/ssl/ && make && make install

本人安装的tomcat为tomcat8.5+,对应tomcat-native的最低版本为1.2.14如果版本过低请移步:

http://tomcat.apache.org/download-native.cgi自行下载,下载时请注意与openssl的版本对照,如需下载openssl请移步:https://www.openssl.org/source/old/进行下载。

3.总结

本篇博文主要对Linux环境下Tomcat APR模式的配置进行了梳理,希望能对你有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值