概述
在本文中, Rahul Chaudhary將描述性能調整技術 (PTT performance-tuning techniques) 的使用,來提升servlets 和JSP 的性能,以此來提升你的J2EE應用的性能。筆者假設讀者具有基礎的servlets 和JSPs知識。
作者:Rahul Chaudhary
譯者:guipei
你的J2EE應用程序運行緩慢麼?它們可以滿足足夠的壓力麼?本文將會描述如何在開發高性能的應用和JSP以及servlets中使用性能調整技術 (PTT performance-tuning techniques)。使用這些技術可以構建更加快速、穩健的系統,以滿足更多用戶或者更多請求的需要。在本文中,我將會帶你進行實際的實踐,試驗如何調整性能提升你的servlets 和 JSP 頁面緩慢的性能,最終以提升你的J2EE應用的性能。其中一部分技術使用在開發過程階段,也就是說,適應於在你進行系統設計或者編寫代碼的時候。另外一些則是和配置相關技術。
調整方法1:使用 HttpServlet init()方法緩存數據
應用服務器在servlet開始構造的時候,接受處理任何請求之前調用servlet的init()方法。在servlet的生命周期中僅僅調用一次。Init()方法通過緩存靜態數據或者完成占用大量資源的操作,用來在初始化的過程中提高性能。
舉例說明,通過使用jdbc連接池是一個最好的實踐,在調用javax.sql.DataSource接口的時候。依靠通過JNDI(java命名和服務接口)樹獲得DataSource。如果在每一次SQL調用時候都進行JNDI查找DataSource ,將會嚴重的影響應用服務的應能。Servlet的init()方法將用來取得DataSource,並且將其進行緩存以備以後使用。
public class ControllerServlet extends HttpServlet
{
private javax.sql.DataSource testDS = null;
public void init(ServletConfig config) throws ServletException
{
super.init(config);
Context ctx = null;
try
{
ctx = new InitialContext();
testDS = (javax.sql.DataSource)ctx.lookup("jdbc/testDS");
}
catch(NamingException ne)
{
ne.printStackTrace();
}
catch(Exception e)