Tomcat的日志文件主要存储在$CATALINA_HOME/logs
目录下($CATALINA_HOME
通常为Tomcat的安装路径,如/opt/tomcat
或/usr/share/tomcat
)。核心日志文件包括:
/var/log/tomcatX
(X
为版本号,如tomcat9
)。tail -f
命令动态跟踪日志文件的更新,快速捕捉连接超报错。例如:tail -f $CATALINA_HOME/logs/catalina.out
grep
命令筛选包含“连接超时”相关关键词的日志行,提高排查效率。常见关键词包括:
Connection timed out
、Read timed out
、Write timed out
;Connector
(连接器名称)、connectionTimeout
(超时配置);JDBC Connection timeout
、Cannot get connection
(连接池无法获取连接)。grep -Ei "connection timed out|read timed out|connector|jdbc connection timeout" $CATALINA_HOME/logs/catalina.out
grep "connection timed out" $CATALINA_HOME/logs/catalina.out > connection_timeouts.log
连接超时问题在日志中通常表现为以下几种形式,需重点关注:
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:831)
此类错误表明Tomcat在指定时间内未从客户端或下游服务接收到数据,可能与网络延迟、客户端响应慢有关。org.apache.coyote.http11.AbstractHttp11Processor process
WARNING: Error processing request
java.util.concurrent.TimeoutException: Request processing timeout
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
此类错误通常与Tomcat连接器的connectionTimeout
配置过短有关(默认20秒)。org.apache.tomcat.jdbc.pool.ConnectionPool createPool
ERROR: Unable to create initial connections of pool.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
此类错误表明Tomcat无法连接到数据库,可能是数据库服务器宕机、网络不通或连接池maxWait
(最大等待时间)设置过短。Connection timed out
且伴随网络延迟(可通过ping
、iftop
命令检查),需排查网络连通性或防火墙设置。catalina.out
中出现Too many open files
或Connector
相关警告,需调整Tomcat的maxThreads
(最大线程数)、acceptCount
(等待队列长度)或connectionTimeout
(超时时间)配置(修改server.xml
文件)。RejectedExecutionException
(线程池耗尽)或长时间运行的SQL查询(可通过SHOW PROCESSLIST
检查数据库),需优化应用程序代码(如使用线程池、异步处理)或数据库查询。通过以上步骤,可系统性地从Tomcat日志中定位连接超时问题,并结合具体原因采取相应的解决措施。