nginx一般幾個線程 tomcat設(shè)置多少線程合適?
tomcat設(shè)置多少線程合適?為了達(dá)到最優(yōu)配置,我進(jìn)行了一般業(yè)務(wù)系統(tǒng)登錄、首頁積壓、查詢、統(tǒng)計內(nèi)容加載等場景的壓力測量,并建議:在tomcat中,虛擬內(nèi)存為2G,建議將最大線程數(shù)設(shè)置為500~600,
tomcat設(shè)置多少線程合適?
為了達(dá)到最優(yōu)配置,我進(jìn)行了一般業(yè)務(wù)系統(tǒng)登錄、首頁積壓、查詢、統(tǒng)計內(nèi)容加載等場景的壓力測量,并建議:
在tomcat中,虛擬內(nèi)存為2G,建議將最大線程數(shù)設(shè)置為500~600,最大并發(fā)可以支持到500~600。
在tomcat中,虛擬內(nèi)存為4G,建議最大線程數(shù)為600~700,最大并發(fā)可以為600~700。
如果需要達(dá)到自己業(yè)務(wù)系統(tǒng)的最優(yōu)配置,還是需要根據(jù)自己業(yè)務(wù)系統(tǒng)的場景一步一步的測量壓力,然后根據(jù)結(jié)果調(diào)整或者減少線程的數(shù)量。
注:此外,另一篇文章 "tomcat性能調(diào)整:虛擬內(nèi)存JVM設(shè)置 "還提到 "Tomcat虛擬內(nèi)存JVM的最大設(shè)置是4G。經(jīng)過實測,4G以上性能提升很小,考慮nginx tomcat集群進(jìn)行負(fù)載均衡。 "
如何限流?
1.限制瞬時并發(fā)數(shù),如nginx的limit_conn模塊,用于限制瞬時并發(fā)連接數(shù),nginx的limit_req模塊,用于限制平均每秒速率。
2.當(dāng)前限制的并發(fā)/連接/請求總數(shù)
如果你使用了Tomcat,它的一個連接器有如下參數(shù)::。
AcceptCount:如果雄貓 的線程忙于響應(yīng),新的連接將進(jìn)入隊列,如果超過隊列大小,連接將被拒絕。
maxConnections:的瞬時最大連接數(shù),超過的將排隊等候。
MaxThr:Tomcat可以啟動用于處理請求的最大數(shù)量的線程。如果請求處理量遠(yuǎn)遠(yuǎn)大于最大線程數(shù),它可能會死。
高并發(fā)服務(wù)器master和worker之間怎么通信?
Nginx會根據(jù)需要同時運行多個進(jìn)程:一個主進(jìn)程和幾個worker,在配置緩存的時候,還會有一個緩存加載器進(jìn)程和一個緩存管理器進(jìn)程。Nginx主要通過 "共享內(nèi)存 "。主進(jìn)程作為根用戶運行,而worker、cache loader和cache manager都應(yīng)該作為非特權(quán)用戶運行。Nginx分為單工作進(jìn)程和多工作進(jìn)程兩種模式。在單工作進(jìn)程模式下,主進(jìn)程之外還有一個工作進(jìn)程,工作進(jìn)程是單線程的;在多工作進(jìn)程模式下,每個工作進(jìn)程包含多個線程。Nginx默認(rèn)為單工作進(jìn)程模式。