日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Tomcat內(nèi)存設(shè)置具體方法

當(dāng)在Tomcat的webapps文件夾中部署大量wat資源包的時(shí)候會(huì)因?yàn)閮?nèi)存不足而無(wú)法成功部署,這時(shí)候我們需要修改Tomcat內(nèi)存設(shè)置,下面為大家詳細(xì)講解一下Tomcat修改內(nèi)存具體方法。

創(chuàng)新互聯(lián)公司堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨嚒N覀儚牟缓鲇瞥踉L客戶,我們用心做好本職工作,不忘初心,方得始終。十載網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營(yíng)銷服務(wù)商,為您提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、H5開(kāi)發(fā)、網(wǎng)站制作、品牌網(wǎng)站制作、成都小程序開(kāi)發(fā)服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。

一、配置

Tomcat/conf/server.xml修改配置


  
   "8080" protocol=
   "org.apache.coyote.http11.Http11NioProtocol"        redirectPort=
   "8443"        URIEncoding=
   "UTF-8"        minSpareThreads=
   "25"        maxSpareThreads=
   "300"        maxThreads=
   "500"        acceptCount=
   "500"        connectionTimeout=
   "30000"        enableLookups=
   "false"/> 
  

二、參數(shù)說(shuō)明

maxIdleTime:最大空閑時(shí)間,超過(guò)這個(gè)空閑時(shí)間,且線程數(shù)大于minSpareThreads的,都會(huì)被回收,默認(rèn)值1分鐘(60000ms);

minSpareThreads:最小空閑線程數(shù),任何情況都會(huì)存活的線程數(shù),即便超過(guò)了最大空閑時(shí)間,也不會(huì)被回收,默認(rèn)值4;

maxSpareThreads:最大空閑線程數(shù),在最大空閑時(shí)間(maxIdleTime)內(nèi)活躍過(guò),此時(shí)空閑,當(dāng)空閑時(shí)間大于maxIdleTime則被回收,小則繼續(xù)存活,等待被調(diào)度,默認(rèn)值50;

maxThreads:最大線程數(shù),大并發(fā)請(qǐng)求時(shí),tomcat能創(chuàng)建來(lái)處理請(qǐng)求的最大線程數(shù),超過(guò)則放入請(qǐng)求隊(duì)列中進(jìn)行排隊(duì),默認(rèn)值為200;

acceptCount:當(dāng)最大線程數(shù)(maxThreads)被使用完時(shí),可以放入請(qǐng)求隊(duì)列排隊(duì)個(gè)數(shù),超過(guò)這個(gè)數(shù)返回connection refused(請(qǐng)求被拒絕),一般設(shè)置和max

Threads一樣,不過(guò)這個(gè)具體需要根據(jù)自己的應(yīng)用實(shí)際訪問(wèn)峰值和平均值來(lái)權(quán)衡,默認(rèn)值為100;

connectionTimeout:網(wǎng)絡(luò)連接超時(shí),假設(shè)設(shè)置為0表示永不超時(shí),這樣設(shè)置隱患巨大,通常可設(shè)置為30000ms,默認(rèn)60000ms。

Windows Tomcat允許每個(gè)進(jìn)程maxThreads(最大線程數(shù))2000

Linux Tomcat允許每個(gè)進(jìn)程maxThreads(最大線程數(shù))1000

Tomcat修改內(nèi)存配置Tomcat修改內(nèi)存配置

圖解線程池原理

Tomcat修改內(nèi)存配置Tomcat修改內(nèi)存配置

請(qǐng)看下面三種情況

情況1:接受一個(gè)請(qǐng)求,此時(shí)tomcat起動(dòng)的線程數(shù)沒(méi)有到達(dá)maxThreads,tomcat會(huì)起動(dòng)一個(gè)線程來(lái)處理此請(qǐng)求。

情況2:接受一個(gè)請(qǐng)求,此時(shí)tomcat起動(dòng)的線程數(shù)已經(jīng)到達(dá)maxThreads,tomcat會(huì)把此請(qǐng)求放入等待隊(duì)列,等待空閑線程。

情況3:接受一個(gè)請(qǐng)求,此時(shí)tomcat起動(dòng)的線程數(shù)已經(jīng)到達(dá)maxThreads,等待隊(duì)列中的請(qǐng)求個(gè)數(shù)也達(dá)到了acceptCount,此時(shí)tomcat會(huì)直接拒絕此次請(qǐng)求,返回connection refused

maxThreads如何配置

一般的服務(wù)器操作都包括量方面:1計(jì)算(主要消耗cpu),2等待(io、數(shù)據(jù)庫(kù)等)

第一種極端情況,如果我們的操作是純粹的計(jì)算,那么系統(tǒng)響應(yīng)時(shí)間的主要限制就是cpu的運(yùn)算能力,此時(shí)maxThreads應(yīng)該盡量設(shè)的小,降低同一時(shí)間內(nèi)爭(zhēng)搶cpu的線程個(gè)數(shù),可以提高計(jì)算效率,提高系統(tǒng)的整體處理能力。

第二種極端情況,如果我們的操作純粹是IO或者數(shù)據(jù)庫(kù),那么響應(yīng)時(shí)間的主要限制就變?yōu)榈却獠抠Y源,此時(shí)maxThreads應(yīng)該盡量設(shè)的大,這樣才能提高同時(shí)處理請(qǐng)求的個(gè)數(shù),從而提高系統(tǒng)整體的處理能力。此情況下因?yàn)閠omcat同時(shí)處理的請(qǐng)求量會(huì)比較大,所以需要關(guān)注一下tomcat的虛擬機(jī)內(nèi)存設(shè)置和linux的open file限制。

我在測(cè)試時(shí)遇到一個(gè)問(wèn)題,maxThreads我設(shè)置的比較大比如3000,當(dāng)服務(wù)的線程數(shù)大到一定程度時(shí),一般是2000出頭,單次請(qǐng)求的響應(yīng)時(shí)間就會(huì)急劇的增加,百思不得其解這是為什么,四處尋求答案無(wú)果,最后我總結(jié)的原因可能是cpu在線程切換時(shí)消耗的時(shí)間隨著線程數(shù)量的增加越來(lái)越大,cpu把大多數(shù)時(shí)間都用來(lái)在這2000多個(gè)線程直接切換上了,當(dāng)然cpu就沒(méi)有時(shí)間來(lái)處理我們的程序了。以前一直簡(jiǎn)單的認(rèn)為多線程=高效率。。其實(shí)多線程本身并不能提高cpu效率,線程過(guò)多反而會(huì)降低cpu效率。當(dāng)cpu核心數(shù)

現(xiàn)實(shí)應(yīng)用中,我們的操作都會(huì)包含以上兩種類型(計(jì)算、等待),所以maxThreads的配置并沒(méi)有一個(gè)最優(yōu)值,一定要根據(jù)具體情況來(lái)配置。最好的做法是:在不斷測(cè)試的基礎(chǔ)上,不斷調(diào)整、優(yōu)化,才能得到最合理的配置。

acceptCount的配置,我一般是設(shè)置的跟maxThreads一樣大,這個(gè)值應(yīng)該是主要根據(jù)應(yīng)用的訪問(wèn)峰值與平均值來(lái)權(quán)衡配置的。

如果設(shè)的較小,可以保證接受的請(qǐng)求較快相應(yīng),但是超出的請(qǐng)求可能就直接被拒絕


標(biāo)題名稱:Tomcat內(nèi)存設(shè)置具體方法
文章路徑:http://www.5511xx.com/article/cdjgeoj.html