1、JDK內(nèi)存優(yōu)化
根據(jù)服務(wù)器物理內(nèi)容情況配置相關(guān)參數(shù)優(yōu)化tomcat性能。當(dāng)應(yīng)用程序需要的內(nèi)存超出堆的值時(shí)虛擬機(jī)就會(huì)提示內(nèi)存溢出,并且導(dǎo)致應(yīng)用服務(wù)崩潰。因此一般建議堆的值設(shè)置為可用內(nèi)存的值的80%。 Tomcat默認(rèn)可以使用的內(nèi)存為128MB,在較大型的應(yīng)用項(xiàng)目中,這點(diǎn)內(nèi)存是不夠的,需要調(diào)大.
Tomcat默認(rèn)可以使用的內(nèi)存為128MB,Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設(shè)置: JAVA_OPTS=\'-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的內(nèi)存】 -XX:PermSize=64M -XX:MaxPermSize=128m\' 需要把幾個(gè)參數(shù)值調(diào)大。例如: JAVA_OPTS=\'-Xms256m -Xmx512m\' 表示初始化內(nèi)存為256MB,可以使用的內(nèi)存為512MB。
參數(shù)詳解
-server 啟用jdk 的 server 版; -Xms java虛擬機(jī)初始化時(shí)的最小內(nèi)存; -Xmx java虛擬機(jī)可使用的內(nèi)存; -XX:PermSize 內(nèi)存永久保留區(qū)域 -XX:MaxPermSize 內(nèi)存永久保留區(qū)域 -Xmn jvm最小內(nèi)存
32G 內(nèi)存配置示例:
JAVA_OPTS="$JAVA_OPTS -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m
2、tomcat線程優(yōu)化
在tomcat配置文件server.xml中的配置中,和連接數(shù)相關(guān)的參數(shù)有:
maxThreads: Tomcat使用線程來(lái)處理接收的每個(gè)請(qǐng)求。這個(gè)值表示Tomcat可創(chuàng)建的的線程數(shù)。默認(rèn)值150。
acceptCount: 指定當(dāng)所有可以使用的處理請(qǐng)求的線程數(shù)都被使用時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過(guò)這個(gè)數(shù)的請(qǐng)求將不予處理。默認(rèn)值10。
minSpareThreads: Tomcat初始化時(shí)創(chuàng)建的線程數(shù)。默認(rèn)值25。
maxSpareThreads: 一旦創(chuàng)建的線程超過(guò)這個(gè)值,Tomcat就會(huì)關(guān)閉不再需要的socket線程。默認(rèn)值75。
enableLookups: 是否反查域名,默認(rèn)值為true。為了提高處理能力,應(yīng)設(shè)置為false
connnectionTimeout: 網(wǎng)絡(luò)連接超時(shí),默認(rèn)值60000,單位:毫秒。設(shè)置為0表示永不超時(shí),這樣設(shè)置有隱患的。通常可設(shè)置為30000毫秒。
maxKeepAliveRequests: 保持請(qǐng)求數(shù)量,默認(rèn)值100。 bufferSize: 輸入流緩沖大小,默認(rèn)值2048 bytes。
compression: 壓縮傳輸,取值on/off/force,默認(rèn)值off。 其中和連接數(shù)相關(guān)的參數(shù)為maxThreads和acceptCount。如果要加大并發(fā)連接數(shù),應(yīng)同時(shí)加大這兩個(gè)參數(shù)。
32G 內(nèi)存配置示例:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600" acceptCount="120" redirectPort="8443" URIEncoding="utf-8"/>
1、什么是VisualVM
FastDFS是jdk自帶的一款監(jiān)控工具。它提供了一個(gè)可視界面,用于查看 Java 虛擬機(jī)上運(yùn)行的基于 Java 技術(shù)的程序的詳細(xì)信息。VisualVM 對(duì) Java Development Kit (JDK) 工具所檢索的 JVM 軟件相關(guān)數(shù)據(jù)進(jìn)行組織,并通過(guò)一種使您可以快速查看有關(guān)多個(gè) Java 應(yīng)用程序的數(shù)據(jù)的方式提供該信息。您可以查看本地應(yīng)用程序以及遠(yuǎn)程主機(jī)上運(yùn)行的應(yīng)用程序的相關(guān)數(shù)據(jù)
2、如何安裝
在jkd bin目錄下有一個(gè)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 添加服務(wù)器IP地址,添加需要監(jiān)控jmx端口即可
分享文章:tomcat性能調(diào)優(yōu)和性能監(jiān)控(visualvm)
標(biāo)題路徑:http://jinyejixie.com/article34/cjdspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、企業(yè)建站、微信小程序、Google、定制網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)