在 Debian 上 Tomcat 访问慢,常见原因主要集中在 JVM、系统随机数、网络/DNS、配置和硬件资源 几方面。下面按「最常见 → 较少见」给你一个排查清单。
Tomcat 启动或 HTTPS / Session 生成时依赖随机数:
cat /proc/sys/kernel/random/entropy_avail
如果数值长期 < 100,就会非常慢。
解决方案(推荐)
apt install haveged
systemctl enable haveged
systemctl start haveged
或改用:
JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
Tomcat 默认会对客户端 IP 做反向 DNS 解析。
现象
解决
修改 server.xml:
<Connector
port="8080"
enableLookups="false" />
free -m
top
或看:
jstat -gcutil <pid> 1000
典型表现
解决
JAVA_OPTS="-Xms512m -Xmx1024m"
<Connector
port="8080"
maxThreads="200"
minSpareThreads="20" />
apt install libtcnative-1
Java 默认优先 IPv6。
JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
ufwufw status
验证方式
curl -w "%{time_total}\n" http://localhost:8080
# 1. 熵
cat /proc/sys/kernel/random/entropy_avail
# 2. DNS
nslookup 你的IP
# 3. Tomcat 线程
ps -ef | grep tomcat
# 4. 访问耗时
curl -w "%{time_connect} %{time_starttransfer} %{time_total}\n" http://localhost:8080
你可以补充:
我可以直接给你一份最优 server.xml + JVM 参数配置。