Tomcat性能優化

  2.操作系統性能優化

  這里說的操作系統是指運行web服務器的系統軟件,當然,不同的操作系統是為不同的目的而設計的。比如OpenBSD是面向安全的,因此在它的內核中有許多的限制來防止不同形式的服務攻擊(OpenBSD的一句座右銘是“默認是最安全的”)。這些限制或許更多地用來運行活躍的web服務器。

  而我們常用的Linux操作系統的目標是易用使用,因此它有著更高的限制。使用BSD內核的系統都帶有一個名為“Generic”的內核,表明所有的驅動器都靜態地與之相連。這樣就使系統易于使用,但是如果你要創建一個自定義的內核來加強其中某些限制,那就需要排除不需要的設備。Linux內核中的許多驅動都是動態地加載的。但是換而言之,內存現在變得越來越便宜,所以因為加載額外的設備驅動就顯得不是很重要的。重要的是要有更多的內存,并且在服務器上騰出更多的可用內存。

  小提示:雖然現在內存已經相當的便宜,但還是盡量不要購買便宜的內存。那些有牌子的內存雖然是貴一點,但是從可靠性上來說,性價比會更高一些。

  如果是在Windows操作系統上使用Tomcat,那么最好選擇服務器版本。因為在非服務器版本上,最終用戶授權數或者操作系統本身所能承受的用戶數、可用的網絡連接數或其它方面的一些方面都是有限制的。并且基于安全性的考慮,必須經常給操作系統打上最新的補丁。

  3.Tomcat與其它web服務器整合使用

  雖然tomcat也可以作web服務器,但其處理靜態html的速度比不上apache,且其作為web服務器的功能遠不如apache,因此我們想把apache和tomcat集成起來,將html與jsp的功能部分進行明確分工,讓tomcat只處理jsp部分,其它的由apache,IIS等這些web服務器處理,由此大大節省了tomcat有限的工作“線程”。

  4.負載均衡

  在負載均衡的思路下,多臺服務器為對稱方式,每臺服務器都具有同等的地位,可以單獨對外提供服務而無須其他服務器的輔助。通過負載分擔技術,將外部發送來的請求按一定規則分配到對稱結構中的某一臺服務器上,而接收到請求的服務器都獨立回應客戶機的請求。

  提供服務的一組服務器組成了一個應用服務器集群(cluster),并對外提供一個統一的地址。當一個服務請求被發至該集群時,根據一定規則選擇一臺服務器,并將服務轉定向給該服務器承擔,即將負載進行均衡分攤。

  通過應用負載均衡技術,使應用服務超過了一臺服務器只能為有限用戶提供服務的限制,可以利用多臺服務器同時為大量用戶提供服務。當某臺服務器出現故障時,負載均衡服務器會自動進行檢測并停止將服務請求分發至該服務器,而由其他工作正常的服務器繼續提供服務,從而保證了服務的可靠性。

  負載均衡實現的方式大概有四種:第一是通過DNS,但只能實現簡單的輪流分配,不能處理故障,第二如果是基于MS IIS,Windows 2003 server本身就帶了負載均衡服務,第三是硬件方式,通過交換機的功能或專門的負載均衡設備可以實現,第四種是軟件方式,通過一臺負載均衡服務器進行,上面安裝軟件。使用Apache Httpd Server做負載平衡器,Tomcat集群節點使用Tomcat就可以做到以上第四種方式。這種方式比較靈活,成本相對也較低。另外一個很大的優點就是可以根據應用的情況和服務器的情況采取一些策略。