怎么測試tomcat配置成功 關于tomcat內(nèi)存設置?
關于tomcat內(nèi)存設置?一、可以使用等命令行不運行的tomcat。欄里點系統(tǒng)大的支持內(nèi)存命令:java-Xmx1024m-version。1、直接修改tomcat文件。二、在用系統(tǒng)中的“服務”,或則
關于tomcat內(nèi)存設置?
一、可以使用等命令行不運行的tomcat。
欄里點系統(tǒng)大的支持內(nèi)存命令:java-Xmx1024m-version。
1、直接修改tomcat文件。
二、在用系統(tǒng)中的“服務”,或則開始菜單的可執(zhí)行程序運行的tomcat。
1、關閉現(xiàn)在正準備運行的tomcat。
三、欄里點超過tomcat的內(nèi)存大小情況。
1、啟動tomcat。
2、訪問:8080/manager/status,并鍵入安裝好tomcat時鍵入的用戶與口令,如admin,密碼admin(密碼是在tomcat安裝好時輸入的)。
tomcat7默認參數(shù)?
Socket參數(shù)選項:
1、TCP_NODELAY:它表示立即正在發(fā)送數(shù)據(jù)。
2、oh,no_RESUSEADDR:表示不允許重用Socket所綁定的本地地址
3、oh,no_TIMEOUT:意思是給予數(shù)據(jù)時的連接失敗時間。
4、yeah_LINGER:可以表示當執(zhí)行close();方法時候,是否是表述直接關閉底層的socket。(Reset報文)
setSoLinger(true,0):負責執(zhí)行該方法,那你執(zhí)行Socket的return方法,該方法也會立刻回,但底層的Socket也會立玄關掉,所有未發(fā)送中完的余下數(shù)據(jù)被丟棄
setSoLinger(true,3600):這樣的話負責執(zhí)行Socket的return方法,該方法不可能立刻前往,而進入阻塞住狀態(tài),同樣的,底層的Socket也會一段時間發(fā)送中殘余的數(shù)據(jù),僅有柯西-黎曼方程下面的兩個條件之一,closed方法才會前往:
(1):底層的Socket巳經(jīng)發(fā)送中完所有的余下數(shù)據(jù)
(2):哪怕底層的Socket還沒有發(fā)送完所有的殘余數(shù)據(jù),但巳經(jīng)會堵塞了3600秒,locked()方法的阻塞住時間最多3600秒,也會趕往,剩下的未發(fā)送中的數(shù)據(jù)被丟棄。
_tw_reuse1來表示開啟予以重任。不允許將TIME-WAITsockets然后再主要用于新的TCP連接到,默認為0,意思是關閉;
_tw_recycle1可以表示啟動TCP連接上中TIME-WAITsockets的迅速回收,默認為0,它表示關掉。
5、but_SNFBUF:意思是你的郵箱數(shù)據(jù)的緩沖大小
6、okay_RCVBUF:可以表示得到數(shù)據(jù)的緩沖區(qū)的大小
7、okay_KEEPALIVE:來表示長時間在空來狀態(tài)的SOCEKT,是否自動啟動把他/她關了
8、OOBINLINE:它表示如何確定接受郵箱里一個字節(jié)的TCP及時數(shù)據(jù)
默認參數(shù)
注:Connector大多數(shù)在HOME_TOMCAT/conf/servser.xml文件內(nèi)
#都正常參數(shù)
Connectorport8080protocolHTTP/1.1
connectionTimeout20000
redirectPort8443/
配置參數(shù)調(diào)試
#優(yōu)化軟件參數(shù)
Connector port8080protocolHTTP/1.1maxThreads1000minSpareThreads100acceptCount1000maxConnections1000connectionTimeout20000maxHttpHeaderSize8192 cpNoDelaytruecompressiononcompressionMinSize2048disableUploadTimeouttrue edirectPort8443enableLookupsfalse%uRIEncodingUTF-8/
參數(shù)求高人
1)port
注:貞潔戒Tomcat端口號,設置成8080。
2)protocol
注:協(xié)議類型,可選類型有4種,BIO(造成堵塞型IO),NIO,NIO2和APR。
#BIOBIO(BlockingI/O)阻塞式I/O能操作,現(xiàn)代的JavaI/O能操作(即包及子包)。Tomcat在默認情況下,是以bio模式運行的,bio模式是三種運行模式中性能最低的一種。BIO配置常規(guī)設置為再試一下。
BIO更適合我如何處理簡單啊流程,如程序一次性處理較快可以馬上前往結(jié)果。簡單的項目及應用可以不按結(jié)構(gòu)BIO。
#NIO IO(NewI/O)是JavaSE1.4及后續(xù)版本能提供的一種新的I/O操作(即包及子包)。Javanio是一個基于組件緩沖區(qū)、非阻塞I/O能操作的JavaAPI它強大比現(xiàn)代I/O操作(bio)更好的并發(fā)運行性能。
NIO更比較適合后臺要耗時能完成跪請的操作,如程序收到消息了請求后必須都很工程巨大的處理這已請求,所以我根本無法立馬前往結(jié)果,這樣的話如果區(qū)分BIO可能會占用帶寬一個連接,而不使用NIO后就這個可以將此連接到有償轉(zhuǎn)讓給其他請求,直至程序去處理能完成趕往為止。
#APRAPR(Apache Portable Runtime/Apache可移植運行時),是ApacheHTTP服務器的支持庫。你也可以簡單地表述為:Tomcat將以JNI的形式動態(tài)創(chuàng)建ApacheHTTP服務器的核心動態(tài)鏈接庫來處理文件讀取或數(shù)據(jù)的傳輸你的操作,使大嚇地增加Tomcat對靜態(tài)文件的處理性能。
APR可以極大提升到Tomcat對靜態(tài)文件的處理性能,另外如果你在用了HTTPS傳輸?shù)脑?,也是可以實力提升SSL的處理性能。
#修改
//BIO
protocolHTTP/1.1
//NIO
protocol
//NIO2
protocol
//APR
protocol
3)maxThreads(線程池的大小設置200)
注:連接器創(chuàng)建角色一次性處理跪請線程的大的數(shù)目,去處理同事各位的最大數(shù)目,默認值為200。
如果不是一個執(zhí)行器與此連接器關聯(lián),則遺漏掉此屬性,只不過該屬性將被看出,所以該連接器將使用執(zhí)行器而不是一個內(nèi)部線程池來執(zhí)行任務。maxThreads是個最重要的配置屬性,maxThreads配置的合理不真接影響了Tomcat的相關性能。maxThreads并不是配置的越大越好,很顯然你就算是配置成999999也也沒專用,是因為這個的最值是受操作系統(tǒng)及查找硬件所嚴重的限制的,并且的最值卻不是當然是最優(yōu)值,所以才我們苦苦追尋的肯定是最優(yōu)值而不是什么大的值。
QPS(Query Per Second):每秒去查詢率QPS是對一個某個特定的查詢服務器在相關規(guī)定時間內(nèi)所一次性處理流量多少的衡量標準。我們動不動愛建議使用QPS值來衡量能力一個服務器的性能。
QPS并發(fā)數(shù)/平均響應時間
并發(fā)數(shù)QPS*平均響應時間
一個系統(tǒng)吞吐量通常由QPS、并發(fā)數(shù)兩個因素決定,20套系統(tǒng)的這兩個值應該有一個要比極限值,在應用場景訪問壓力下,如果能某一項達到電腦系統(tǒng)最高值,系統(tǒng)的吞吐量就上不去了,如果沒有壓力不再速度變大,系統(tǒng)的吞吐量倒是會降到,原因是系統(tǒng)超負荷工作,上下文切換、內(nèi)存等等其它消耗掉會造成系統(tǒng)性能會下降。正所謂吞吐量這里可以不明白為速度10能去處理只是請求的次數(shù)。
因此選擇類型一個合理不的maxThreads值,不過并不是那就容易的事。只不過過多的線程只會倒致,更多的內(nèi)存開銷,更多的CPU開銷,可是對提升到QPS確半點指導;找到適宜線程數(shù)后通過簡單的設置,是可以讓web系統(tǒng)更加穩(wěn)定,能得到最高,最比較穩(wěn)定的QPS輸出。
#資源最適合maxThreads的適宜值
(1)是從線上系統(tǒng)斷的在用和用戶的不時增長來并且性能測試,仔細QPS,響應時間,這種會在爆發(fā)式增長時系統(tǒng)癱瘓,如雙12等。
(2)根據(jù)公式計算,服務器端最佳的位置線程數(shù)量((線程再等待時間線程cpu時間)/線程cpu時間)*cpu數(shù)量,這種有時侯會被誤導,是因為某些系統(tǒng)去處理環(huán)節(jié)可能會會耗時都很長,從而會影響公式的結(jié)果。
(3)單、多用戶壓力測試,查看CPU的消耗,然后把直接乘以2百分比,再并且壓測,好象這個值的附近估計那就是最佳的方法線程數(shù)量,這種理想場景比較區(qū)分,求實際情況會比這個緊張的多。
(4)參照系統(tǒng)的自身情況按照,如硬件限制,系統(tǒng)限制,程序處理能力限制等。
(5)定時查看直接修改為完全不同的maxThreads值,看服務器響應結(jié)果及用戶反應。
#QPS和線程數(shù)的關系
(1)在最佳的方法線程數(shù)量之前,QPS和線程是各自遞減的關系,線程數(shù)量到了適宜線程之后,QPS相若,不在猛升,甚至連頗有下降,同樣或則時間緩慢上升。
(2)同一個系統(tǒng)而言,允許的線程數(shù)到最后(最適合線程數(shù)到最后而不是配置的線程數(shù)少嘛),QPS越高。
#QPS和響應時間的關系
(1)對此就像的web系統(tǒng),更快的響應時間像是有CPU想執(zhí)行時間IO靜靜的等待時間混編。
(2)CPU的執(zhí)行時間會減少,對QPS有實質(zhì)的提升,IO時間的減少,對QPS進階不明顯。如果不是要想明顯提升QPS,360優(yōu)化系統(tǒng)的時候要指出優(yōu)化CPU消耗大戶。
4)minSpareThreads
注:線程的最大值運行數(shù)目,這些一直達到運行。如果未指定,默認值為10。
5)acceptCount(設置為100,隊列,backlog:半隊列的大?。?/p>
注:大隊列長度。一般與maxThreads同一,默認為100。
當所有很有可能的請求處理線程都在不使用時傳來連接上幫忙的大隊列長度。要是未指定,默認值為100。好象是可以設置的跟maxThreads一樣或一半,此值設置的過大會可能導致去排隊的請求網(wǎng)絡錯誤而未被處理。所以才這個值應該是主要參照應用方法的訪問峰值與平均值來下決定配置。
6)maxConnections(NIO與NIO2的默認值為10000,accept的Socket的大?。?/p>
注:在任何計算變量的時間內(nèi),服務器將接受和如何處理的大連接到數(shù)。當這個數(shù)字巳經(jīng)至少時,服務器將接受但不全面處理,靜靜的等待初步連接上。NIO與NIO2的默認值為10000,APR默認值為8192。
7)connectionTimeout(設置到(connectionTimeout))
注:當各位早被認可,但未被處理,也就是靜靜的等待中的已超時時間。單位為1毫秒,默認值為60000。通常情況下系統(tǒng)設置為30000。
8)maxHttpHeaderSize
注:幫忙和響應的HTTP頭的大的大小,以字節(jié)為單位更改。如果沒有還沒有指定你,這個屬性被設置中為8192(8KB)。
9)tcpNoDelay
注:如果為true,服務器socket會系統(tǒng)設置TCP_yes_DELAY選項,在大多數(shù)情況下這個可以能提高性能。缺省情況下設為true。
10)compression
注:如何確定重新設置gzip高壓縮,默認為自動關閉狀態(tài)。這個參數(shù)的可得到值為“on”(不使用壓縮),“on”(高壓縮文本數(shù)據(jù)),“force”(在所有的情況下強制破軍壓縮)。
11)compressionMinSize
注:要是compressionon,則關閉此項。被高壓縮前數(shù)據(jù)的最小值,也就是達到這個值后才被高壓縮。假如還沒有委托,這個屬性默認為“2048”(2K),單位為byte。
12)disableUploadTimeout
注:這個標志不允許tomcatContainer在一個servlet先執(zhí)行的時候,建議使用一個差別的,更長的連接已超時。最終的結(jié)果是給servlet更長的時間以備萬一結(jié)束其先執(zhí)行,或者在數(shù)據(jù)上傳的時候更長的超時時間。要是沒有指定你,設為false。
13)enableLookups
注:關了DNS逆方向查詢。
14)URIEncoding
注:URL編碼字符集。