好程序員分享Java常見面試題Tomcat優化經驗

  好程序員分享Java常見面試題Tomcat優化經驗Tomcat做爲Web服務器,它的處理性能直接關係到用戶體驗,下面是幾種常見的優化措施:css

1、掉對web.xml的監視,把jsp提早編輯成Servlet。有富餘物理內存的狀況,加大tomcat使用的jvm的內存前端

2、服務器資源程序員

服務器所能提供CPU、內存、硬盤的性能對處理能力有決定性影響。web

(1) 對於高併發狀況下會有大量的運算,那麼CPU的速度會直接影響處處理速度。面試

(2) 內存在大量數據處理的狀況下,將會有較大的內存容量需求,能夠用-Xmx -Xms -XX:MaxPermSize等參數對內存不一樣功能塊進行劃分。咱們以前就遇到過內存分配不足,致使虛擬機一直處於full GC,從而致使處理能力嚴重降低。apache

(3) 硬盤主要問題就是讀寫性能,當大量文件進行讀寫時,磁盤極容易成爲性能瓶頸。最好的辦法仍是利用下面提到的緩存。後端

3、利用緩存和壓縮緩存

對於靜態頁面最好是可以緩存起來,這樣就沒必要每次從磁盤上讀。這裏咱們採用了Nginx做爲緩存服務器,將圖片、css、js文件都進行了緩存,有效的減小了後端tomcat的訪問。tomcat

另外,爲了能加快網絡傳輸速度,開啓gzip壓縮也是必不可少的。但考慮到tomcat已經須要處理不少東西了,因此把這個壓縮的工做就交給前端的Nginx來完成。服務器

除了文本能夠用gzip壓縮,其實不少圖片也能夠用圖像處理工具預先進行壓縮,找到一個平衡點可讓畫質損失很小而文件能夠減少不少

4、採用集羣

單個服務器性能老是有限的,最好的辦法天然是實現橫向擴展,那麼組建tomcat集羣是有效提高性能的手段。咱們仍是採用了Nginx來做爲請求分流的服務器,後端多個tomcat共享session來協同工做。

5、.優化tomcat參數

這裏以tomcat7的參數配置爲例,須要修改conf/server.xml文件,主要是優化鏈接配置,關閉客戶端dns查詢。

1.<connector port="8080"

  1. protocol="org.apache.coyote.http11.Http11NioProtocol"
  2. connectionTimeout="20000"
  3. redirectPort="8443"
  4. maxThreads="500"
  5. minSpareThreads="20"
  6. acceptCount="100"
  7. disableUploadTimeout="true"
  8. enableLookups="false"

10.URIEncoding="UTF-8" />

相關文章
相關標籤/搜索