Tomcat性能優(yōu)化
2.操作系統(tǒng)性能優(yōu)化
這里說的操作系統(tǒng)是指運行web服務(wù)器的系統(tǒng)軟件,當(dāng)然,不同的操作系統(tǒng)是為不同的目的而設(shè)計的。比如OpenBSD是面向安全的,因此在它的內(nèi)核中有許多的限制來防止不同形式的服務(wù)攻擊(OpenBSD的一句座右銘是“默認(rèn)是最安全的”)。這些限制或許更多地用來運行活躍的web服務(wù)器。
而我們常用的Linux操作系統(tǒng)的目標(biāo)是易用使用,因此它有著更高的限制。使用BSD內(nèi)核的系統(tǒng)都帶有一個名為“Generic”的內(nèi)核,表明所有的驅(qū)動器都靜態(tài)地與之相連。這樣就使系統(tǒng)易于使用,但是如果你要創(chuàng)建一個自定義的內(nèi)核來加強(qiáng)其中某些限制,那就需要排除不需要的設(shè)備。Linux內(nèi)核中的許多驅(qū)動都是動態(tài)地加載的。但是換而言之,內(nèi)存現(xiàn)在變得越來越便宜,所以因為加載額外的設(shè)備驅(qū)動就顯得不是很重要的。重要的是要有更多的內(nèi)存,并且在服務(wù)器上騰出更多的可用內(nèi)存。
小提示:雖然現(xiàn)在內(nèi)存已經(jīng)相當(dāng)?shù)谋阋耍€是盡量不要購買便宜的內(nèi)存。那些有牌子的內(nèi)存雖然是貴一點,但是從可靠性上來說,性價比會更高一些。
如果是在Windows操作系統(tǒng)上使用Tomcat,那么最好選擇服務(wù)器版本。因為在非服務(wù)器版本上,最終用戶授權(quán)數(shù)或者操作系統(tǒng)本身所能承受的用戶數(shù)、可用的網(wǎng)絡(luò)連接數(shù)或其它方面的一些方面都是有限制的。并且基于安全性的考慮,必須經(jīng)常給操作系統(tǒng)打上最新的補丁。
3.Tomcat與其它web服務(wù)器整合使用
雖然tomcat也可以作web服務(wù)器,但其處理靜態(tài)html的速度比不上apache,且其作為web服務(wù)器的功能遠(yuǎn)不如apache,因此我們想把apache和tomcat集成起來,將html與jsp的功能部分進(jìn)行明確分工,讓tomcat只處理jsp部分,其它的由apache,IIS等這些web服務(wù)器處理,由此大大節(jié)省了tomcat有限的工作“線程”。
4.負(fù)載均衡
在負(fù)載均衡的思路下,多臺服務(wù)器為對稱方式,每臺服務(wù)器都具有同等的地位,可以單獨對外提供服務(wù)而無須其他服務(wù)器的輔助。通過負(fù)載分擔(dān)技術(shù),將外部發(fā)送來的請求按一定規(guī)則分配到對稱結(jié)構(gòu)中的某一臺服務(wù)器上,而接收到請求的服務(wù)器都獨立回應(yīng)客戶機(jī)的請求。
提供服務(wù)的一組服務(wù)器組成了一個應(yīng)用服務(wù)器集群(cluster),并對外提供一個統(tǒng)一的地址。當(dāng)一個服務(wù)請求被發(fā)至該集群時,根據(jù)一定規(guī)則選擇一臺服務(wù)器,并將服務(wù)轉(zhuǎn)定向給該服務(wù)器承擔(dān),即將負(fù)載進(jìn)行均衡分?jǐn)偂?br>
通過應(yīng)用負(fù)載均衡技術(shù),使應(yīng)用服務(wù)超過了一臺服務(wù)器只能為有限用戶提供服務(wù)的限制,可以利用多臺服務(wù)器同時為大量用戶提供服務(wù)。當(dāng)某臺服務(wù)器出現(xiàn)故障時,負(fù)載均衡服務(wù)器會自動進(jìn)行檢測并停止將服務(wù)請求分發(fā)至該服務(wù)器,而由其他工作正常的服務(wù)器繼續(xù)提供服務(wù),從而保證了服務(wù)的可靠性。
負(fù)載均衡實現(xiàn)的方式大概有四種:第一是通過DNS,但只能實現(xiàn)簡單的輪流分配,不能處理故障,第二如果是基于MS IIS,Windows 2003 server本身就帶了負(fù)載均衡服務(wù),第三是硬件方式,通過交換機(jī)的功能或?qū)iT的負(fù)載均衡設(shè)備可以實現(xiàn),第四種是軟件方式,通過一臺負(fù)載均衡服務(wù)器進(jìn)行,上面安裝軟件。使用Apache Httpd Server做負(fù)載平衡器,Tomcat集群節(jié)點使用Tomcat就可以做到以上第四種方式。這種方式比較靈活,成本相對也較低。另外一個很大的優(yōu)點就是可以根據(jù)應(yīng)用的情況和服務(wù)器的情況采取一些策略。