在 Debian 上优化 JSP(Java Server Pages)性能,通常要从 操作系统、JVM、Web 容器(Tomcat 等)、JSP 编译与缓存、应用代码 多个层面入手。下面按层次给你一套实用优化方案。
ulimit -n 65535
写入 /etc/security/limits.conf:
* soft nofile 65535
* hard nofile 65535
systemctl disable bluetooth
systemctl disable cups
减少系统资源占用。
ext4 或 xfsdefaults,noatime,nodiratime
以 Tomcat + OpenJDK 为例。
apt install openjdk-17-jdk
(JDK 11+ 性能明显优于 8)
编辑 bin/catalina.sh 或 setenv.sh:
JAVA_OPTS="-server \
-Xms2g -Xmx2g \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m \
-XX:+UseG1GC \
-XX:+DisableExplicitGC"
说明:
-Xms = -Xmx 避免频繁 GCSystem.gc()JSP 默认 首次访问才编译,导致第一次慢。
apt install ant
使用 jspc 预编译 JSP 为 Servlet。
conf/web.xml:
<servlet>
<servlet-name>jsp</servlet-name>
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
conf/server.xml:
<Connector
port="8080"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxThreads="500"
minSpareThreads="50"
acceptCount="1000"
enableLookups="false"
compression="on"/>
关键项:
❌ 不推荐:
<%
// Java 代码
%>
✅ 推荐:
<%@ page cache="true" %>
或使用:
<jsp:useBean ... scope="application"/>
Nginx → Tomcat
Nginx 处理:
Cache-Control: max-age=31536000
jstat -gcutil <pid> 1000
/server-status
Debian 12
OpenJDK 17
Tomcat 10
Nginx 反代
JSP 预编译
G1GC
Redis 缓存
如果你愿意,可以告诉我:
我可以给你一份 定制化优化配置。