tomcat承載量

基本情況

???????當(dāng)一個(gè)進(jìn)程有 500 個(gè)線程在跑的話,那性能已經(jīng)是很低很低了。Tomcat 默認(rèn)配置的最大請(qǐng)求數(shù)是 150,也就是說同時(shí)支持 150 個(gè)并發(fā),當(dāng)然了,也可以將其改大。

擴(kuò)容建議

???????當(dāng)某個(gè)應(yīng)用擁有 250 個(gè)以上并發(fā)的時(shí)候,應(yīng)考慮應(yīng)用服務(wù)器的集群。

硬件限制

???????具體能承載多少并發(fā),需要看硬件的配置。Tomcat的最大并發(fā)數(shù)是可以配置的,實(shí)際運(yùn)用中,最大并發(fā)數(shù)與硬件性能和CPU數(shù)量都有很大關(guān)系的。更好的硬件,更多的處理器都會(huì)使Tomcat支持更多的并發(fā),但也會(huì)加重 GC 的負(fù)擔(dān)。

系統(tǒng)限制

???????操作系統(tǒng)對(duì)于進(jìn)程中的線程數(shù)有一定的限制:
??????????????Windows 每個(gè)進(jìn)程中的線程數(shù)不允許超過 2000
??????????????Linux 每個(gè)進(jìn)程中的線程數(shù)不允許超過 1000

java虛擬機(jī)

???????在 Java 中每開啟一個(gè)線程需要耗用 1MB 的 JVM 內(nèi)存空間用于作為線程棧之用。

通信方式的區(qū)別(阻塞和非阻塞)

???????Tomcat 默認(rèn)的 HTTP 實(shí)現(xiàn)是采用阻塞式的 Socket 通信,每個(gè)請(qǐng)求都需要?jiǎng)?chuàng)建一個(gè)線程處理。這種模式下的并發(fā)量受到線程數(shù)的限制,但對(duì)于 Tomcat 來說幾乎沒有 BUG 存在了。
???????Tomcat 還可以配置 NIO 方式的 Socket 通信,在性能上高于阻塞式的,每個(gè)請(qǐng)求也不需要?jiǎng)?chuàng)建一個(gè)線程進(jìn)行處理,并發(fā)能力比前者高。但沒有阻塞式的成熟。

業(yè)務(wù)邏輯的影響

???????這個(gè)并發(fā)能力還與應(yīng)用的邏輯密切相關(guān),如果邏輯很復(fù)雜需要大量的計(jì)算,那并發(fā)能力勢(shì)必會(huì)下降。如果每個(gè)請(qǐng)求都含有很多的數(shù)據(jù)庫操作,那么對(duì)于數(shù)據(jù)庫的性能也是非常高的。

總結(jié)

???????對(duì)于單臺(tái)數(shù)據(jù)庫服務(wù)器來說,允許客戶端的連接數(shù)量是有限制的。并發(fā)能力問題涉及整個(gè)系統(tǒng)架構(gòu)和業(yè)務(wù)邏輯。系統(tǒng)環(huán)境不同,Tomcat版本不同、JDK版本不同、以及修改的設(shè)定參數(shù)不同。并發(fā)量的差異還是滿大的。

相關(guān)配置參數(shù)

???????maxThreads="1000" 最大并發(fā)數(shù)
???????minSpareThreads="100"http:///初始化時(shí)創(chuàng)建的線程數(shù)
???????maxSpareThreads="500"http:///一旦創(chuàng)建的線程超過這個(gè)值,Tomcat就會(huì)關(guān)閉不再需要的socket線程。
???????acceptCount="700"http:// 指定當(dāng)所有可以使用的處理請(qǐng)求的線程數(shù)都被使用時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過這個(gè)數(shù)的請(qǐng)求將不予處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,789評(píng)論 11 349
  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,895評(píng)論 0 11
  • 一路上學(xué)走來,小學(xué),初中高中,大學(xué),很多很多的同學(xué)畢業(yè)了也就聯(lián)系少了,慢慢的也就消失了。。但是總有那么幾個(gè)鐵桿,無...
    孤狼龍浩閱讀 304評(píng)論 0 0
  • 2016-08-01品牌中心中和黃埔成長吧 好萊塢流行一句話,就是“成功,不在于你知道什么或做什么,而在于你人是誰...
    中和黃埔閱讀 492評(píng)論 0 0

友情鏈接更多精彩內(nèi)容