Thursday, 6 September 2007

6 วิธีง่าย ๆ ที่ทำให้ Java EE เร็วขึ้น

วันก่อนเขียนเรื่องการ tuning javascript มีคนมาถามผมว่าเราจะมีการเพิ่ม performance ให้กับ JSP อย่างไร ผมจึงนำ trick เหล่านี้มาฝากครับ

  1. ใช้ HttpSession.invalidate() เพื่อที่จะใช้ clean session เนื่องจากว่าบางครั้ง session ที่เราจองไว้นั้นถ้าหากไม่มีการใช้นานๆ ก็จะเปลืองหน่วยความจำ ดังนั้นเราจึงควรที่จะ clean session ที่ไม่ได้ใช้คืนหน่วยความจำ

  2. ในหน้าของ JSP ใดที่ไม่มีการใช้ session เพื่อเป็นการประหยัดทรัพยากรของเครื่อง Application Server เราจึงควรที่จะบอกมันไว้ว่า เราไม่มีการใช้ session ในหน้า page นี้

  3. ให้เรา Implement HttpSessionBindingListener สำหรับ bean ทุกตัวที่มี scope อยู่ใน session เพื่อที่จะให้ bean นั้น สามารถคืนทรัพยากรให้กับระบบได้โดยการใช้ method valueUnbound() เมื่อไม่มีการใช้ bean นั้นแล้ว

  4. เราควรที่จะตั้งค่า session timeout ให้เร็วขึ้น เพื่อที่จะได้คืนทรัพยากรให้กับระบบได้เร็วขึ้น เราจะตั้งค่านี้ผ่าน method session.setMaxInactiveInterval() ส่วนค่าที่เหมาะสมควรเป็นเท่าใด นักพัฒนาที่คลุกคลีกับระบบนั้น ๆ น่าจะเป็นคนที่รู้ดีที่สุด

  5. ให้พยายามใช้ที่จะใช้ include directive เช่น <%@ include file="header.html" %>ในทุกที่ที่เป็นไปได้ เพราะมันจะทำงานตอน compile time แต่ถ้าใช้ jsp:include จะทำงานตอน run time ครับ

  6. พยายามใช้ cache tagging ในทุกที่ที่เป็นไปได้ครับ cache tagging จะทำหน้าที่เก็บ tag ที่ compile จาก JSP file เสร็จแล้ว เมื่อมีการเรียกใช้ในส่วนนั้นก็ไม่ต้อง compile ใหม่ สามารถดึงมาจาก cache นำไปใช้งานได้เลย รายละเอียดการทำ cache จะนำมาต่อตอนหน้าครับ

ที่มา : J2EE Performance Tuning Tips, James McGovern, Java Developers Journal

1 comment:

Anonymous said...

Thanks you