歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux配置 >> tomcat配置及優化

tomcat配置及優化

日期:2017/2/27 14:57:23   编辑:Linux配置

jdk安裝

su - root
mkdir jdk
cd jdk
wget https://mirror.its.sfu.ca/mirror/CentOS-Third-Party/NSG/common/x86_64/jdk-7u76-linux-x64.rpm
rpm -ivh jdk-7u76-linux-x64.rpm

環境變量

vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_76
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
. /etc/profile

tomcat下載

#建議用一般用戶運行tomcat
wget http://www.apache.org/dist/tomcat/tomcat-7/v7.0.59/bin/apache-tomcat-7.0.59.tar.gz
tar xzf apache-tomcat-7.0.59.tar.gz
apache-tomcat-7.0.59/bin
chmod +x *.sh

tomcat隱藏版本號

cd apache-tomcat-7.0.59/lib
mkdir test
cd test
jar xf ../catalina.jar
vi org/apache/catalina/util/ServerInfo.properties
server.info=Tomcat
server.number=6
server.built=Jan 18 2013 14:51:10 UTC
jar cf ../catalina.jar ./*
rm -rf test

Tomcat jconsole監控遠程jvm配置
參考:http://blog.linuxeye.com/262.html

Tomcat的三種模式及並發優化
Tomcat的運行模式有3種
1、bio
默認的模式,性能非常低下,沒有經過任何優化處理和支持.

2、nio
利用java的異步io護理技術,noblocking IO技術.
想運行在該模式下,直接修改server.xml裡的Connector節點,修改protocol為

<Connector port="80″
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
URIEncoding=”UTF-8″
useBodyEncodingForURI="true"
enableLookups="false"
redirectPort="8443">

啟動後,就可以生效。

3、apr
從操作系統級別來解決異步的IO問題,大幅度的提高性能。
必須要安裝apr和native,直接啟動就支持apr
修改protocol為org.apache.coyote.http11.Http11AprProtocol

安裝apr

yum -y install apr apr-devel

安裝native
進入tomcat/bin目錄,比如:

cd /usr/local/tomcat/bin/
tar xzfv tomcat-native.tar.gz
cd tomcat-native-1.1.20-src/jni/native/
./configure --with-apr=/usr/bin/apr-1-config
make && make install

安裝完成之後 會出現如下提示信息

Libraries have been installed in:
   /usr/local/apr/lib

安裝成功後還需要對tomcat設置環境變量,方法是在catalina.sh文件中增加1行:

 CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

修改8080端對應的conf/server.xml

protocol="org.apache.coyote.http11.Http11AprProtocol"

啟動tomcat之後,查看日志會有這一行信息,說明已經是APR模式啟動了

INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

並發優化
1.JVM調優
新增文件TOMCAT_HOME/bin/setenv.sh如下語句,具體數值視情況而定。

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=64m -XX:MaxPermSize=128m"

參數詳解

-Xms JVM初始化堆內存大小
-Xmx JVM堆的最大內存
-Xss 線程棧大小
-XX:PermSize JVM非堆區初始內存分配大小
-XX:MaxPermSize JVM非堆區最大內存

建議和注意事項:
-Xms和-Xmx選項設置為相同堆內存分配,以避免在每次GC 後調整堆的大小,堆內存建議占內存的60%~80%;非堆內存是不可回收內存,大小視項目而定;線程棧大小推薦256k.

32G內存配置如下:

JAVA_OPTS="-Xms20480m -Xmx20480m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m"

2.關閉DNS反向查詢
在<Connector port=”8080″ 中加入如下參數

enableLookups="false"

3.優化tomcat參數(使用APR)

<Listener className="org.apache.catalina.core.AprLifecycleListener" />
...
<Connector port="8080"
           protocol="org.apache.coyote.http11.Http11AprProtocol"
           connectionTimeout="20000" //鏈接超時時長
           redirectPort="8443"
           maxThreads="500"
           minSpareThreads="20"
           acceptCount="1000"
           enableLookups="false"
           URIEncoding="UTF-8" />
原文:http://blog.linuxeye.com/413.html
Copyright © Linux教程網 All Rights Reserved