tomcat性能調優與效能監控(visualvm)
tomcat伺服器最佳化
1、JDK記憶體最佳化
依據伺服器實體內容狀況設定相關參數最佳化tomcat效能。當應用程式需要的記憶體超出堆的最大值時虛擬機器就會提示記憶體溢出,並且導致應用程式服務崩潰。因此一般建議堆的最大值設定為可用記憶體的最大值的80%。 Tomcat預設可以使用的記憶體為128MB,在較大型的應用程式專案中,這點記憶體是不夠的,需要調大.
Tomcat預設可以使用的記憶體為128MB,Windows下,在檔案/bin/catalina.bat ,Unix下,在檔案/bin/catalina.sh的前面,增加如下設定: JAVA_OPTS='-Xms【初始化記憶體大小】 -Xmx【可以使用的最大記憶體】 -XX:PermSize=64M -XX:MaxPermSize=128m ' 需要把幾個參數值調大。例如: JAVA_OPTS='-Xms256m -Xmx512m' 表示初始化記憶體為256MB,可使用的最大記憶體為512MB。
參數詳解
-server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留区域 -Xmn jvm最小内存
32G 記憶體設定範例:
JAVA_OPTS="$JAVA_OPTS -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m
2、tomcat執行緒最佳化
在tomcat設定檔server.xml中的設定中,和連接數相關的參數有:Thmaxfin處理接收的每個請求。這個值表示Tomcat可建立的最大的線程數。預設值150。
acceptCount: 指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到處理佇列中的請求數,超過這個數的請求將不予處理。預設值10。
minSpareThreads: Tomcat初始化時所建立的執行緒數。預設值25。
maxSpareThreads: 一旦建立的執行緒就超過這個值,Tomcat就會關閉不再需要的socket執行緒。預設值75。
enableLookups: 是否反查域名,預設值為true。為了提高處理能力,應設定為false
connnectionTimeout: 網路連線逾時,預設值60000,單位:毫秒。設定為0表示永不逾時,這樣設定有隱患的。通常可設定為30000毫秒。
maxKeepAliveRequests: 保持請求數量,預設值100。 bufferSize: 輸入流緩衝大小,預設值2048 bytes。
compression: 壓縮傳輸,取值on/off/force,預設值off。 其中和最大連接數相關的參數為maxThreads和acceptCount。如果要加大並發連線數,應同時加大這兩個參數。
32G 記憶體設定範例:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600" acceptCount="120" redirectPort="8443" URIEncoding="utf-8"/>
使用visualvm效能監控
1、什麼是VisualVM
FastDFS是jdk自帶的一款監控工具。它提供了一個可視介面,用於查看 Java 虛擬機器上運行的基於 Java 技術的程式的詳細資訊。 VisualVM 將 Java Development Kit (JDK) 工具擷取的 JVM 軟體相關資料進行組織,並透過一種讓您可以快速查看多個 Java 應用程式的資料的方式提供該資訊。您可以查看本機應用程式以及遠端主機上執行的應用程式的相關資料
2、如何安裝
在jkd bin目錄下有一個jvisualvm.exe檔案雙擊就可以使用
3、如何使用jvisualvm
1 、設定JMX管理tomcat:
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false - Dcom.sun.management.jmxremote.ssl=false
2、重啟tomcat即可
3、雙擊jvisualvm.exe 新增伺服器IP位址,新增需要監控jmx連接埠即可
效果如下:

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

若要將 JAR 專案部署到 Tomcat,請遵循以下步驟:下載並解壓縮 Tomcat。配置 server.xml 文件,設定連接埠和專案部署路徑。將 JAR 檔案複製到指定的部署路徑中。啟動 Tomcat。使用提供的 URL 存取已部署的項目。

要讓 Tomcat 伺服器對外網訪問,需要:修改 Tomcat 設定文件,允許外部連接。新增防火牆規則,允許存取 Tomcat 伺服器連接埠。建立 DNS 記錄,將網域名稱指向 Tomcat 伺服器公有 IP。可選:使用反向代理提升安全性和效能。可選:設定 HTTPS 以提高安全性。

Tomcat 安裝目錄:預設路徑:Windows:C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9自訂路徑:安裝時可指定。尋找安裝目錄:使用 whereis 或 locate 指令。

要透過 Tomcat 部署多個項目,需要建立每個專案的 webapp 目錄,然後:自動部署:將 webapp 目錄放置在 Tomcat 的 webapps 目錄中。手動部署:在 Tomcat 的 manager 應用程式中手動部署專案。專案部署後,可以透過其部署名稱訪問,例如:http://localhost:8080/project1。

查看Tomcat並發連線數的方法:造訪Tomcat Manager頁面(http://localhost:8080/manager/html),輸入使用者名稱和密碼。在左側導覽列中點選Status->Sessions,即可在頁面頂部看到並發連線數。

Tomcat 網站根目錄位於 Tomcat 的 webapps 子目錄中,用於儲存 Web 應用程式檔案、靜態資源和 WEB-INF 目錄;它可以透過尋找 Tomcat 設定檔中的 docBase 屬性來找到。

Tomcat埠號碼可透過以下方法檢視:檢查server.xml檔案中的<Connector>元素的port屬性。造訪Tomcat管理介面(http://localhost:8080/manager/html)並查看"Status"標籤。在命令列中運行"catalina.sh version"並查看"Port:"行。

在Tomcat伺服器上執行不同連接埠號碼的專案需要以下步驟:修改server.xml檔案並新增Connector元素以定義連接埠號碼。新增Context元素以定義與連接埠號碼關聯的應用程式。建立WAR檔案並部署到對應目錄(webapps或webapps/ROOT)。重啟Tomcat以應用更改。
