當前位置:首頁 » 數據倉庫 » tomcat如何優化配置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

tomcat如何優化配置

發布時間: 2022-03-01 06:10:30

『壹』 如何優化提高Tomcat啟動速度

如何優化提高tomcat啟動速度

在tomcat啟動的時候,我們可以做一些優化設置來使得tomcat的啟動更快速,下面是一些常見的優化加速啟動的方法建議(以tomcat-7.+為例說明)。
1、 Jars包
1.1、將一些不必要的jar包去掉,當tomcat啟動載入jar包的時候,會去搜尋每個jar包里的class文件,這些都會耗費一些時間,如果你把不必要的jar包去掉了,很顯然會節省時間。
1.2、你可以將一些與TLD files、註解、網路碎片無關的jar包加入到屬性
tomcat.util.scan.DefaultJarScanner.jarsToSkip的值中,這可以在conf/catalina.properties中進行設置。
2、 緩存
你可以在bin/catalina.sh中設置jvm所能使用到的緩存大小,如下:
JAVA_OPTS=』-Xms1024m -Xmx1024m』
3、 配置文件
Tomcat的配置比如server.xml是xml文件,而xml的解析也是要花時間的,如果我們能將xml配置文件盡可能地弄得簡潔一些,比如去掉一些沒有用到的節點,這也有助於減少啟動的時間,雖然這個節省的時間看來很少。
4、 應用程序
4.1、確保你程序在啟動的時候沒有一些處理很耗時的地方。
4.2、刪除掉tomcat自帶的目錄webapps及下面的所有內容,不然的話每次啟動的時候都會載入這些自帶的例子。
4.3、修改WEB-INF/web.xml文件,在默認的情況下<web-app>中的屬性metadata-complete的值為false,也就是這樣:<web-app metadata-complete=」false」 >,這種情況下,tomcat在啟動時會去自動掃描是否有註解及網路碎片,如果你不想tomcat這樣做,你可以將metadata-complete的值設為true。
5、 並行啟動多個應用程序
默認情況下,假設在一個tomcat下你有多個應用,那麼啟動的時候,這些應用程序都是依次啟動的,除非所有應用全部啟動完畢,tomcat才會啟動完成,但從Tomcat 7.0.23+開始,你可以配置多個應用程序並行啟動了!你可以通過修改配置文件中Host裡面的startStopThreads這個屬性的值來達到這個目的,將多個應用startStopThreads的值設為不同即可。
6、 Entropy Source
Tomcat 7+嚴重依賴SecureRandom這個類為它的session id或其它地方取得隨機數值,這取決於你的JRE,它有可能在tomcat啟動時造成非常大的耗時,比如,在子猴啟動tomcat-7.0.26的時候,它耗時近25秒!
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [24,790] milliseconds.
要解決這個問題,可以通過配置JRE使用非阻塞的Entropy Source,在bin/ catalina.sh中加入這么一行:-Djava.security.egd=file:/dev/./urandom 即可。
加入後我再啟動tomcat,整個啟動下降到僅耗時Server startup in 912 ms。
以上內容由子猴翻譯自tomcat官方網站。

『貳』 如何優化tomcat配置優化

在tomcat啟動的時候,我們可以做一些優化設置來使得tomcat的啟動更快速,下面是一些常見的優化加速啟動的方法建議(以tomcat-7.+為例說明)。1、Jars包1.1、將一些不必要的jar包去掉,當tomcat啟動載入jar包的時候,會去搜尋每個jar包里的clas

『叄』 如何優化tomcat配置優化

  1. 如何優化tomcat配置優化

    https://jingyan..com/article/a3761b2bce587c1576f9aaf8.html

『肆』 如何優化tomcat配置

1、內存使用調整(Out of Memery問題)
Tomcat 默認可以使用的內存為 128MB ,在較大型的應用項目中,這點內存是不夠的,需要調大。

Windows 下,在文件 {tomcat_home}/bin/catalina.bat , Unix 下,在文件 {tomcat_home}/bin/catalina.sh 的前面,增加如下設置:

JAVA_OPTS='-Xms 【初始化內存大小】 -Xmx 【可以使用的最大內存】 '

需要把這個兩個參數值調大。例如:

rem ----- Execute The Requested Command ---------------------------------------

set JAVA_OPTS='-Xms256m -Xmx512m'

表示初始化內存為 256MB ,可以使用的最大內存為 512MB

2、連接線程數調整(cannot connect to server問題)

優化tomcat配置:maxThreads="500" minSpareThreads="400" maxSpareThreads="450"。但是tomcat 最多支持500個並發訪問

3、connectionTimeout

單位是毫秒,Connector從接受連接到提交URI的等待的時間。

http://tomcat.apache.org/tomcat-5.5-doc/config/http.html
The number of milliseconds this Connector will wait, after accepting a connection, for the request URI line to be presented. The default value is 60000 (i.e. 60 seconds).

參考:
http://twotwoandapple.blogbus.com/logs/62770043.html

4、acceptCount

The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 100.

『伍』 tomcat有哪些性能調優方法

操作系統調優,對於操作系統優化來說,是盡可能的增大可使用的內存容量、提高CPU的頻率,保證文件系統的讀寫速率等。

『陸』 如何優化提高tomcat啟動速度

在tomcat啟動的時候,我們可以做一些優化設置來使得tomcat的啟動更快速,下面是一些常見的優化加速啟動的方法建議(以tomcat-7.+為例說明)。
1、 Jars包 1.1、將一些不必要的jar包去掉,當tomcat啟動載入jar包的時候,會去搜尋每個jar包里的class文件,這些都會耗費一些時間,如果你把不必要的jar包去掉了,很顯然會節省時間。 1.2、你可以將一些與TLD files、註解、網路碎片無關的jar包加入到屬性tomcat.util.scan.DefaultJarScanner.jarsToSkip的值中,這可以在conf/catalina.properties中進行設置。2、 緩存 你可以在bin/catalina.sh中設置jvm所能使用到的緩存大小,如下: JAVA_OPTS=』-Xms1024m -Xmx1024m』3、 配置文件 Tomcat的配置比如server.xml是xml文件,而xml的解析也是要花時間的,如果我們能將xml配置文件盡可能地弄得簡潔一些,比如去掉一些沒有用到的節點,這也有助於減少啟動的時間,雖然這個節省的時間看來很少。4、 應用程序 4.1、確保你程序在啟動的時候沒有一些處理很耗時的地方。 4.2、刪除掉tomcat自帶的目錄webapps及下面的所有內容,不然的話每次啟動的時候都會載入這些自帶的例子。 4.3、修改WEB-INF/web.xml文件,在默認的情況下<web-app>中的屬性metadata-complete的值為false,也就是這樣:<web-app metadata-complete=」false」 >,這種情況下,tomcat在啟動時會去自動掃描是否有註解及網路碎片,如果你不想tomcat這樣做,你可以將metadata-complete的值設為true。5、 並行啟動多個應用程序 默認情況下,假設在一個tomcat下你有多個應用,那麼啟動的時候,這些應用程序都是依次啟動的,除非所有應用全部啟動完畢,tomcat才會啟動完成,但從Tomcat 7.0.23+開始,你可以配置多個應用程序並行啟動了!

『柒』 如何優化tomcat配置優化

其實優化的方式有幾種,這其中老漁哥個人認為Tomcat內存優化有效、也簡單一點。具體方法步驟如下:

Tomcat內存優化主要是對 tomcat 啟動參數優化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設置 JAVA_OPTS 參數。
JAVA_OPTS參數說明
-server 啟用jdk 的 server 版;
-Xms java虛擬機初始化時的最小內存;
-Xmx java虛擬機可使用的最大內存;
-XX:PermSize 內存永久保留區域
-XX:MaxPermSize 內存最大永久保留區域
伺服器參數配置

現公司伺服器內存一般都可以加到最大2G ,所以可以採取以下配置:

JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

配置完成後可重啟Tomcat ,通過以下命令進行查看配置是否生效:
首先查看Tomcat 進程號:

sudo lsof -i:9027

我們可以看到Tomcat 進程號是 12222 。
查看是否配置生效:

sudo jmap – heap 12222

我們可以看到MaxHeapSize 等參數已經生效。、

『捌』 如何優化Tomcat配置,提升Tomcat性能

Tomcat有很多方面,我從內存、並發、緩存四個方面介紹優化方法。
一.Tomcat內存優化

Tomcat內存優化主要是對 tomcat 啟動參數優化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設置 JAVA_OPTS 參數。
JAVA_OPTS參數說明
-server 啟用jdk 的 server 版;
-Xms java虛擬機初始化時的最小內存;
-Xmx java虛擬機可使用的最大內存;
-XX:PermSize 內存永久保留區域
-XX:MaxPermSize 內存最大永久保留區域
伺服器參數配置

現公司伺服器內存一般都可以加到最大2G ,所以可以採取以下配置:

JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

配置完成後可重啟Tomcat ,通過以下命令進行查看配置是否生效:
首先查看Tomcat 進程號:

sudo lsof -i:9027

我們可以看到Tomcat 進程號是 12222 。
查看是否配置生效:

sudo jmap – heap 12222

我們可以看到MaxHeapSize 等參數已經生效。、
二.Tomcat並發優化

1.Tomcat連接相關參數

在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中

1>參數說明

minProcessors:最小空閑連接線程數,用於提高系統處理性能,默認值為 10
maxProcessors:最大連接線程數,即:並發處理的最大請求數,默認值為 75
acceptCount:允許的最大連接數,應大於等於 maxProcessors ,默認值為 100
enableLookups:是否反查域名,取值為: true 或 false 。為了提高處理能力,應設置為 false
connectionTimeout:網路連接超時,單位:毫秒。設置為 0 表示永不超時,這樣設置有隱患的。通常可設置為30000 毫秒。
其中和最大連接數相關的參數為maxProcessors 和 acceptCount 。如果要加大並發連接數,應同時加大這兩個參數。
web server允許的最大連接數還受制於操作系統的內核參數設置,通常 Windows 是 2000 個左右, Linux 是 1000 個左右。

2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
minProcessors="100"
maxProcessors="1000"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

2.調整連接器connector的並發處理能力

1>參數說明

maxThreads 客戶請求最大線程數
minSpareThreads Tomcat初始化時創建的 socket 線程數
maxSpareThreads Tomcat連接器的最大空閑 socket 線程數
enableLookups 若設為true, 則支持域名解析,可把 ip 地址解析為主機名
redirectPort 在需要基於安全通道的場合,把客戶請求轉發到基於SSL 的 redirectPort 埠
acceptAccount 監聽埠隊列最大數,滿了之後客戶請求會被拒絕(不能小於maxSpareThreads )
connectionTimeout 連接超時
minProcessors 伺服器創建時的最小處理線程數
maxProcessors 伺服器同時最大處理線程數
URIEncoding URL統一編碼

2>Tomcat中的配置示例

<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

3.Tomcat緩存優化

1>參數說明

c ompression 打開壓縮功能
compressionMinSize 啟用壓縮的輸出內容大小,這裡面默認為2KB
compressableMimeType 壓縮類型
connectionTimeout 定義建立客戶連接超時的時間. 如果為 -1, 表示不限制建立客戶連接的時間

2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

4.參考配置

1>舊有的配置

參考網路對伺服器做過如下配置,拿出來分享下:

<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="200"
redirectPort="8443"
disableUploadTimeout="true" />

後來發現在訪問量達到3 百萬多的時候出現性能瓶頸。
2>更改後的配置

<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

『玖』 如何優化tomcat配置優化

優化tomcat配置優化方法詳見:
https://..com/question/1239602365771991059.html

『拾』 如何優化tomcat配置

Tomcat有很多方面,我從內存、並發、緩存四個方面介紹優化方法。 一.Tomcat內存優化 Tomcat內存優化主要是對 tomcat 啟動參數優化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設置 JAVA_OPTS 參數。 JAVA_OPTS參數說明 -server 啟用jdk 的 se