Java面試題Tomcat的優化經驗

2021-08-22 08:37:07 字數 1137 閱讀 4635

2023年10月07日 15:32:11

tomcat作為web伺服器,它的處理效能直接關係到使用者體驗,下面是幾種常見的優化措施:

一、掉對web.xml的監視,把jsp提前編輯成servlet。有富餘物理記憶體的情況,加大tomcat使用的jvm的記憶體

二、伺服器資源

伺服器所能提供cpu、記憶體、硬碟的效能對處理能力有決定性影響。

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

(2) 內存在大量資料處理的情況下,將會有較大的記憶體容量需求,可以用-xmx -xms -xx:maxpermsize等引數對記憶體不同功能塊進行劃分。我們之前就遇到過記憶體分配不足,導致虛擬機器一直處於full gc,從而導致處理能力嚴重下降。

(3) 硬碟主要問題就是讀寫效能,當大量檔案進行讀寫時,磁碟極容易成為效能瓶頸。最好的辦法還是利用下面提到的快取。

三、利用快取和壓縮

對於靜態頁面最好是能夠快取起來,這樣就不必每次從磁碟上讀。這裡我們採用了nginx作為快取伺服器,將、css、js檔案都進行了快取,有效的減少了後端tomcat的訪問。

另外,為了能加快網路傳輸速度,開啟gzip壓縮也是必不可少的。但考慮到tomcat已經需要處理很多東西了,所以把這個壓縮的工作就交給前端的nginx來完成。

除了文字可以用gzip壓縮,其實很多也可以用影象處理工具預先進行壓縮,找到乙個平衡點可以讓畫質損失很小而檔案可以減小很多。曾經我就見過乙個從300多kb壓縮到幾十kb,自己幾乎看不出來區別。

四、採用集群

單個伺服器效能總是有限的,最好的辦法自然是實現橫向擴充套件,那麼組建tomcat集群是有效提公升效能的手段。我們還是採用了nginx來作為請求分流的伺服器,後端多個tomcat共享session來協同工作。可以參考之前寫的《利用nginx+tomcat+memcached組建web伺服器負載均衡》。

五、優化tomcat引數

這裡以tomcat7的引數配置為例,需要修改conf/server.xml檔案,主要是優化連線配置,關閉客戶端dns查詢。

Java面試題Tomcat的優化經驗

tomcat作為web伺服器,它的處理效能直接關係到使用者體驗,下面是幾種常見的優化措施 一 掉對web.xml的監視,把jsp提前編輯成servlet。有富餘物理記憶體的情況,加大tomcat使用的jvm的記憶體 二 伺服器資源 伺服器所能提供cpu 記憶體 硬碟的效能對處理能力有決定性影響。1 ...

java面試題 有關於繼承的面試題

面試題 1,方法過載和方法重寫的區別?方法過載能否改變返回值型別?方法過載是在本類內方法的定義一樣,引數型別,引數個數不同,返回值型別不同 方法重寫是指子類的方法定義和父類的方法定義相同。其引數型別,引數個數,返回值型別都必須相同 方法過載能否改變返回值型別,因為與返回值無關。2,this與supe...

Java面試題(一)

1 1 2 3 100構建乙個函式。答案 public int sum int n 2 描述冒泡演算法。答案 基本思路 對尚未排序的各元素從頭到尾依次比較相鄰的兩個元素是否逆序 與欲排順序相反 若逆序就交換這兩元素,經過第一輪比較排序後便可把最大 或最小 的元素排好,然後再用同樣的方法把剩下的元素逐...