調優
(1)加大Tomcat的鏈接數
和最大連接數相關的參數為maxProcessors和acceptCount。如果要加大并發連接數,應同時加大這兩個參數。 acceptCount:允許的最大連接數,應大于等于maxProcessors,默認值為100
web server允許的最大連接數還受制于操作系統的內核參數設置,通常Windows是2000個左右,Linux是1000個左右。
示例:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="512" minSpareThreads="50" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="512"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
注:URIEncoding="UTF-8"是設置請求參數的編碼格式。
(2)加大tomcat可以使用的內存
tomcat默認可以使用的內存為128MB,在較大型的應用項目中,這點內存是不夠的,需要調大。
Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下設置:
JAVA_OPTS='-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】'
需要把這個兩個參數值調大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化內存為256MB,可以使用的最大內存為512MB。
自己服務器用到:在{tomcat_home}/bin/catalina.sh文件的前面增加以下一行代碼。
CATALINA_OPTS="$CATALINA_OPTS -Xms512m -Xmx512m"
配置開機啟動
?
安裝jsvc
#cd /usr/local/tomcat/bin
#tar xvfz jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh
#chmod 755 configure
#./configure --with-java=/wapservice/server/jdk1.5.0_04????? (改成你的JDK的位置)
#make
添加腳本讓tomcat自動啟動
#useradd tomcat5???? 添加用戶
#groupadd tomcat 添加組
#usermod -G tomcat tomcat5 把tomcat5加入tomcat組
# chown -R tomcat5 /wapservice/server/tomcat-5.5.27 設置用戶tomcat5對tomcat的權限
#cp /usr/local/tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat? 移動文件tomcat5.sh到/etc/init.d/里面并改名為tomcat
#chmod 755 /etc/init.d/tomcat
#vi /etc/init.d/tomcat
配置文件片段:
#!/bin/sh
##############################################################################
#
#?? Copyright 2004 The Apache Software Foundation.
#
#?? Licensed under the Apache License, Version 2.0 (the "License");
#?? you may not use this file except in compliance with the License.
#?? You may obtain a copy of the License at
#
#??????
http://www.apache.org/licenses/LICENSE-2.0
#
#?? Unless required by applicable law or agreed to in writing, software
#?? distributed under the License is distributed on an "AS IS" BASIS,
#?? WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#?? See the License for the specific language governing permissions and
#?? limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
#??? <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
#??? <Connector className="org.apache.catalina.connector.http.HttpConnector"
#?????????????? port="80" minProcessors="5" maxProcessors="75"
#?????????????? enableLookups="true" redirectPort="8443"
#?????????????? acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/src/jdk1.5.0_22
CATALINA_HOME=/var/tomcat5
DAEMON_HOME=/var/tomcat5/bin
TOMCAT_USER=tomcat
TMP_DIR=/var/tmp
CATALINA_OPTS=" -Xms512m -Xmx1024m -DEWAY_HOME=/var/tomcat5/webapps/flexcc/eway-home"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
? start)
??? #
??? # Start Tomcat
??? #
?
?? $DAEMON_HOME/jsvc-src/jsvc \
??? -user $TOMCAT_USER \
??? -home $JAVA_HOME \
??? -Dcatalina.home=$CATALINA_HOME \
??? -Djava.io.tmpdir=$TMP_DIR \
??? -outfile $CATALINA_HOME/logs/catalina.out \
??? -errfile '&1' \
??? $CATALINA_OPTS \
??? -cp $CLASSPATH \
??? org.apache.catalina.startup.Bootstrap
??? #
??? # To get a verbose JVM
??? #-verbose \
??? # To get a debug of jsvc.
??? #-debug \
??? ;;
? stop)
??? #
??? # Stop Tomcat
??? #
??? PID=`cat /var/run/jsvc.pid`
??? kill $PID
??? ;;
? *)
??? echo "Usage tomcat.sh start/stop"
??? exit 1;;
esac
測試,執行命令:service tomcat start|stop|restart|status
把這段代碼保存為 /etc/rc.d/init.d/tomcat ,然后運行
#chkconfig --add tomcat
用--list看一下是否系統已有tomcat啟動文件
#ckhconfig --list
即可把tomcat 添加為系統服務自動隨系統啟動了。
遇到的問題:
[root@asterisk ~]# chkconfig --add tomcat
service tomcat does not support chkconfig
解決的辦法:
在腳本的最前面加上
#!/bin/bash
# chkconfig: 2345 10 90
# description: Starts and Stops the Tomcat daemon.?
再運行命令
sudo /sbin/chkconfig –add tomcat
sudo /sbin/chkconfig –list
看到tomcat,一切搞定。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
