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