tomcat設(shè)置最佳線程數(shù) 監(jiān)控tomcat運(yùn)行情況,有什么好的工具?
監(jiān)控tomcat運(yùn)行情況,有什么好的工具?Visual vm遠(yuǎn)程監(jiān)控tomcatdump內(nèi)存信息或kill-3 PID(Tomcat)分析線程情況。如果長(zhǎng)時(shí)間不釋放,這些線程可能會(huì)看到錯(cuò)誤的代碼。to
監(jiān)控tomcat運(yùn)行情況,有什么好的工具?
Visual vm遠(yuǎn)程監(jiān)控tomcatdump內(nèi)存信息或kill-3 PID(Tomcat)分析線程情況。如果長(zhǎng)時(shí)間不釋放,這些線程可能會(huì)看到錯(cuò)誤的代碼。
tomcat支持多少并發(fā)?
可以配置Tomcat的最大并發(fā)數(shù)。實(shí)際中,最大并發(fā)數(shù)與硬件性能和CPU數(shù)量有很大關(guān)系。更好的硬件和更多的處理器將使Tomcat支持更多的并發(fā)性。
Tomcat 的默認(rèn)HTTP實(shí)現(xiàn)是使用阻塞套接字通信,每個(gè)請(qǐng)求都需要通過(guò)創(chuàng)建一個(gè)線程來(lái)處理。當(dāng)一個(gè)進(jìn)程有500個(gè)線程運(yùn)行時(shí),性能已經(jīng)很低了。Tomcat默認(rèn)配置的最大請(qǐng)求數(shù)是150,這意味著同時(shí)支持150個(gè)并發(fā)請(qǐng)求。能承載多少并發(fā)取決于硬件配置。CPU越多性能越高,分配給JVM的內(nèi)存越多性能越高,但也會(huì)增加GC的負(fù)擔(dān)。當(dāng)一個(gè)應(yīng)用程序有超過(guò)250個(gè)并發(fā)時(shí),應(yīng)該考慮應(yīng)用服務(wù)器集群。操作系統(tǒng)對(duì)進(jìn)程中的線程數(shù)量有一定的限制:
Windows每個(gè)進(jìn)程不能有超過(guò)2000個(gè)線程。
Linux中每個(gè)進(jìn)程的線程數(shù)不允許超過(guò)1000。
Java中,每個(gè)線程需要消耗1MB的JVM內(nèi)存空間用于線程棧,這里也要考慮。
tomcat是多線程還是單線程?
內(nèi)部使用的是多線程。
但是只能幫助我們達(dá)到要求的水平。換句話(huà)說(shuō),一個(gè)請(qǐng)求和一個(gè)線程或者多個(gè)請(qǐng)求和一個(gè)線程。
如果是單線程,它只能處理一個(gè)用戶(hù) 的要求。如果不采用多線程機(jī)制,當(dāng)數(shù)百人同時(shí)訪問(wèn)一個(gè)web應(yīng)用程序時(shí),tomcat將不得不排隊(duì)進(jìn)行串行處理,因此客戶(hù)端只需 我受不了訪問(wèn)速度。
一臺(tái)tomcat服務(wù)器可以支持多少的并發(fā)?
可以配置Tomcat的最大并發(fā)數(shù)。實(shí)際中,最大并發(fā)數(shù)與硬件性能和CPU數(shù)量有很大關(guān)系。更好的硬件和更多的處理器將使Tomcat支持更多的并發(fā)性。
Tomcat 的默認(rèn)HTTP實(shí)現(xiàn)是使用阻塞套接字通信,每個(gè)請(qǐng)求都需要通過(guò)創(chuàng)建一個(gè)線程來(lái)處理。當(dāng)一個(gè)進(jìn)程有500個(gè)線程運(yùn)行時(shí),性能已經(jīng)很低了。Tomcat默認(rèn)配置的最大請(qǐng)求數(shù)是150,這意味著同時(shí)支持150個(gè)并發(fā)請(qǐng)求。能承載多少并發(fā)取決于硬件配置。CPU越多性能越高,分配給JVM的內(nèi)存越多性能越高,但也會(huì)增加GC的負(fù)擔(dān)。當(dāng)一個(gè)應(yīng)用程序有超過(guò)250個(gè)并發(fā)時(shí),應(yīng)該考慮應(yīng)用服務(wù)器集群。操作系統(tǒng)對(duì)進(jìn)程中的線程數(shù)量有一定的限制。:
Windows每個(gè)進(jìn)程不能有超過(guò)2000個(gè)線程。
Linux中每個(gè)進(jìn)程的線程數(shù)不允許超過(guò)1000。
在Java中,每個(gè)線程需要為線程棧消耗1MB的JVM內(nèi)存空間,這里也要考慮。