• Tomcat8性能优化之使用apr组件


    内容来自参考文档,望博主同意转载:http://blog.csdn.net/xyang81/article/details/51502766

    tomcat8使用apr及性能调优
    本次安装的软件包括:
    CentOS7.2
    jdk-8u144-linux-x64.rpm或jdk-8u144-linux-x64.tar.gz
    apache-tomcat-8.0.9.tar.gz
    apr-1.5.2.tar.gz
    apr-iconv-1.2.1.tar.gz
    apr-util-1.5.4.tar.gz
    tomcat-native.tar.gz

    1)安装jdk1.8
    cd /usr/local/src

    rpm包:http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm?AuthParam=1505717415_d21fd3e0679a3bd28c73fa133ee325fa
    gz包:http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1505717504_e782ec8ecaffab2487bff251059fe8c5

    a)安装rpm包
    rpm -ivh jdk-8u144-linux-x64.rpm
    ln -s jdk-8u144-linux-x64 jdk1.8

    b)安装tar.gz包
    tar xvf jdk-8u144-linux-x64.tar.gz -C /opt
    cd /opt && ln -s jdk-8u144-linux-x64 tomcat8

    2)安装tomcat8
    wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/apache-tomcat-8.0.9.tar.gz
    tar xvf apache-tomcat-8.0.9.tar.gz -C /opt
    cd /opt && ln -s apache-tomcat-8.0.9 tomcat8

    3)修改etc/profile文件,增加以下内容,如果1台机器上安装多个tomcat,就不要指定tomcat路径
    export JAVA_HOME=/usr/java/jdk1.8
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    #这里加了这个配置项,在catalina.sh中就不用加 -Djava.library.path=/opt/apr1.5/lib
    export LD_LIBRARY_PATH=/opt/apr1.5/lib
    srouce /etc/profile

    4)创建文件(选择操作)
    mkdir -p /var/log/tomcat

    5)修改tomcat8/bin下的server.xml文件 参考整理的server.xml文件
    a)修改server.xml配置项的信息,请参考文档
    tomcat8优化配置之server.xml文件优化:http://www.cnblogs.com/NiceTime/p/6847991.html
    tomcat8性能优化参考:http://www.cnblogs.com/NiceTime/p/6665416.html

    其中在使用Http11AprProtocol协议时请参考文档:http://tomcat.apache.org/tomcat-8.0-doc/config/http.html

    b)修改tomcat-user.xml文件,注释原有用户,新增以下用户
    <role rolename="tomcat"/>
    <role rolename="manager-gui" />
    <role rolename="manager-script" />
    <role rolename="manager-status" />
    <role rolename="manager-jmx"/>
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-status,manager-jmx" />


    6)修改catalina.sh文件
    jdk1.7中Java HotSpot VM中各参数信息配置,参考文档:http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
    jdk1.8中Java HotSpot VM中各参数信息配置,参考文档:http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
    #下面是应用在jdk8的配置
    JAVA_OPTS="-server -d64 -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"
    JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/opt/apr1.5/lib -Djava.security.egd=file:/dev/./urandom"
    JAVA_OPTS="$JAVA_OPTS -Xms1g -Xmx1g -Xmn512m -Xss256k -XX:MetaspaceSize=9.6m -XX:MaxMetaspaceSize=115.2m -XX:SurvivorRatio=6"
    JAVA_OPTS="$JAVA_OPTS -XX:TargetSurvivorRatio=80 -XX:CICompilerCount=4 -XX:MaxTenuringThreshold=6"
    JAVA_OPTS="$JAVA_OPTS -XX:InitialCodeCacheSize=32k -XX:ReservedCodeCacheSize=256m"
    JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:-UseAdaptiveSizePolicy"
    JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat_admin/logs/java_pid%p.hprof"
    JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/usr/local/tomcat_admin/logs/gc.log"
    JAVA_OPTS="$JAVA_OPTS -Xnoclassgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:MaxGCPauseMillis=300 -XX:LargePageSizeInBytes=0"
    JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80"
    JAVA_OPTS="$JAVA_OPTS -XX:+UseGCOverheadLimit -XX:AllocatePrefetchDistance=256 -XX:AllocatePrefetchStyle=1"

    CATALINA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=119.23.34.67
    -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.port=9017"

    在使用jmc工具时,如需要打开飞行记录,需要配置以下3个参数,不用时可以先不配置:
    -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true

    7)修改logging.properties文件(选择操作)
    将文件中的directory的值改为 /var/log/tomcat8

    或使用命令(选择操作)
    sed -i 's#${catalina.base}/log#/var/log/tomcat8#g' /opt/tomcat8/conf/logging.properties

    安装apr的地址:https://apr.apache.org/

    8)安装apr apr-iconv apr-util tomcat-native包
    a)安装apr
    cd /usr/local/src
    wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
    tar xvzf apr-1.5.2.tar.gz
    cd apr-1.5.2
    ./configure --prefix=/opt/apr1.5

    #安装libtool
    yum -y install libtool

    #如果提示有报错
    rm: cannot remove 'libtoolT': No such file or directory
    #需修改configure文件,在29605行中,修改RM='{$RM -f}'

    make && make install

    b)安装apr-iconv
    cd /usr/local/src
    wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-iconv-1.2.1.tar.gz
    tar xvzf apr-iconv-1.2.1.tar.gz
    cd apr-iconv-1.2.1
    ./configure --prefix=/opt/apriconv1.2 --with-apr=/opt/apr1.5
    make && make install

    c)安装apr-util
    cd /usr/local/src
    wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
    tar xvzf apr-util-1.5.4.tar.gz
    cd apr-util-1.5.4
    ./configure --prefix=/opt/aprutil1.5 --with-apr=/opt/apr1.5 --with-apr-iconv=/opt/apriconv1.2/bin/apriconv
    make && make install

    d)安装tomcat-native(直接从安装的tomcat目录中复制即可,在bin目录下。)
    cd /usr/local/src
    wget 对应版本文件:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/
    tar xvzf tomcat-native.tar.gz
    cd tomcat-native-1.1.30-src/jni/native
    ./configure --prefix=/usr --with-apr=/opt/apr1.5 --with-java-home=/usr/java/jdk1.8
    make && make install

    9)其他的处理(选择项,可以不用按如下操作)
    a)隐藏tomcat版本信息
    cd /opt/tomcat8/lib
    mkdir -p org/apache/catalina/util
    vim org/apache/catalina/util/ServerInfo.properties
    server.info=hidden tomcat version

    b)删除tomcat管理员页面
    rm -rf /opt/tomcat8/webapps/*

    c)以普通用户运行tomcat
    看情况是否决定以普通用户启动tomcat
    以root用户运行
    #新建用户
    su root
    useradd -r tomcat
    groupadd tomcat


    useradd tomcat -s /sbin/nologin

    chown -R tomcat:tomcat /opt/tomcat8/
    chown -R tomcat:tomcat /var/log/tomcat8

    d)安装daemon
    cd /opt/tomcat/bin
    tar xvzf commons-daemon-native.tar.gz
    cd commons-daemon-1.0.15-native-src/unix
    ./configure --with-java=/usr/java/jdk1.8
    make
    cp jsvc ../../
    cd ../../


    #进入目录并授予权限
    cd /opt
    chown -R tomcat:tomcat /opt/tomcat8

    e)启动tomcat
    ./daemon.sh start

    #查看启动日志
    tail -fn 150 ../logs/catalina-daemon.out

  • 相关阅读:
    spring3 上配置quartz 任务调度
    读取.properties配置信息
    mybatis 返回值
    div根据鼠标的移入移除显示隐藏
    jquery日期控件+时分秒
    mysql 插入多条记录,重复值不插入
    Hadoop中Writable类
    Hadoop中WritableComparable 和 comparator
    Hadoop序列化
    Hadoop压缩之MapReduce中使用压缩
  • 原文地址:https://www.cnblogs.com/NiceTime/p/6848020.html
Copyright © 2020-2023  润新知