一個僅含「Hello World」靜態內容的 JSP 頁面,無任何 Java 程式碼。LoadRunner 壓測幾分鐘後,配置 1024MB Heap 的 Tomcat 拋出 OutOfMemoryError: Java heap space。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html ...>
<html><head><title>test</title></head>
<body><p>hello world!</p></body></html>
web.xml 預設配置:<session-config>
<session-timeout>30</session-timeout>
</session-config>
每請求建立一個 Session(Map 結構,佔記憶體較大),30 分鐘後才過期。壓測 QPS 5000 → 每秒 5000 Session → 每分鐘 300,000 物件,迅速耗盡 Heap。
<%@ page session="false" %>
<session-config>
<session-timeout>0</session-timeout>
</session-config>
套用方案一後,LoadRunner 壓測穩定運行,不再發生 OOM。
session="false"