Java效能(2) 調整你的JSP和Servlet

來源:互聯網
上載者:User
 

很多應用的表現層都是使用JSP和Servlet, 這一篇探討一下怎麼通過Coding最佳實務和部署過程的配置提高這類應用的效能。

推薦的最佳coding 實踐

這一段提供一些技巧和coding實踐去提高JSP和servlet的效能。一下是一些提高JSP和servlet效能的通用規則

  • 最小化servlet中的java 同步。
  • 不要用servlet的單線程模式。
  • 使用servlet的init()方法進行一些昂貴的一次性的初始化。
  • 避免使用System.out.pintln()調用。

避免使用共用的可修改的類變數

在servlet的多線程模式中(預設情況下),一個應用伺服器執行個體只有一個的servlet執行個體,這個servlet的所有請求都共用同一個
servlet執行個體,如果在servlet內有同步代碼塊的話會造成線程爭奪,因為servlet的類變數建立需要同步,所以要避免使用共用的可修改的類
變數。

HTTP Session處理

使用HTTP Session的時候請遵守一下規則:

  • 不要隨意建立Session, Session的建立不是免費的。如果不需要就不要建立
  • 如果session不需要了請使用javax.servlet.http.HttpSession.invalidate()來釋放session
  • 保證session小型化可以減少反應時間,如果可能的話,請保證session小於7K。
  • 在JSP裡面使用<%page session=”false”%>指令來避免應用伺服器自動在不需要的時候建立session.
  • 避免session中存放大的對象,這樣會強制序列化和增加過度計算,通常情況下不要存放大的對象到session裡面。
  • 不要緩衝交易資料到HttpSession裡面,訪問HttpSession裡面的資料是非事務的,最好把這些資料存放在資料庫或者用實體
    Bean訪問,事務如果失敗會恢複到它原來的狀態,不過,這些失效的或者不再精確的資料會繼續存放在session裡面。應用伺服器提供了唯讀bean
    管理器去緩衝這些唯讀資料。

配置和部署技巧

請按照這些配置技巧去提高效能,這些技巧是用在產品環境的,不是開發環境。

  • 為了提高類的載入時間,避免在伺服器的CLASSPATH裡面使用過多的目錄,把跟應用有關的類發放到jar檔案裡面。
  • HTTP反應時間跟HTTP server調整有很大關係。
  • 如果可能,請緩衝servlet的結果。
  • 如果一個應用不含任何JEB,把應用部署成war檔案,不要部署成ear檔案。

最佳化SSL

只談Solaris,不翻了

禁用Security Manager(針對Appliciation Server)

Security
manager是非常昂貴的,因為在調用需要的資源的時候必須要調用doPrivileged()方法而且還必須要檢測server.policy裡面的
資源。如果你確信你的伺服器沒有惡意的代碼而且你也不使用使用者認證,你就可以禁用secrity manager.

禁用server.policy檔案,你可以到Admin Console. 在Configurations > config-name > JVM Setting, 刪除包含一下文字的選項。

-Djava.security.manager

從來沒翻譯過這麼多東西,好累啊,明天繼續吧,EJB效能,我的重頭戲

來自我的小站 www.threes.cn

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.