在 Debian 上“优化 JSP”通常包含几个层面:系统/运行环境优化(Debian + Tomcat/Jetty)、JSP 编译与缓存优化、应用代码与架构优化。下面按实战角度给你一套常见且有效的优化方案。
apt install openjdk-17-jdk
查看:
java -version
ulimit -n 65535
永久生效:
/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
/etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
sysctl -p
避免首次访问慢:
<!-- 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/context.xml
<Context reloadable="false" />
<!-- conf/server.xml -->
<Executor name="tomcatThreadPool"
maxThreads="500"
minSpareThreads="50"/>
<Connector executor="tomcatThreadPool"
port="8080"
protocol="HTTP/1.1"
maxConnections="1000"/>
protocol="org.apache.coyote.http11.Http11NioProtocol"
compression="on"
✅ 推荐:
❌ 避免:
<%
// 大量 Java 逻辑
%>
<%@ page cache="true" %>
或:
<%@ page import="java.util.*" %>
location ~ \.jsp$ {
proxy_pass http://127.0.0.1:8080;
}
location ~ \.(js|css|png)$ {
expires 30d;
}
好处:
jstat -gcutil <pid> 1000
CATALINA_OPTS="-Xms512m -Xmx2g -XX:+UseG1GC"
✅ JDK 17
✅ Tomcat NIO + 线程池
✅ JSP 预编译 + 关闭 reload
✅ Nginx 处理静态资源
✅ JSP 只做展示,逻辑放 Java
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。