首页主机资讯如何解决Ubuntu上WebLogic连接超时问题

如何解决Ubuntu上WebLogic连接超时问题

时间2025-11-25 14:54:03发布访客分类主机资讯浏览312
导读:Ubuntu上WebLogic连接超时的定位与解决 一、先快速定位超时类型 查看日志关键字: 出现 BEA-000449 Closing socket as no data read … idle timeout of 5 secs,多...

Ubuntu上WebLogic连接超时的定位与解决

一、先快速定位超时类型

  • 查看日志关键字:
    • 出现 BEA-000449 Closing socket as no data read … idle timeout of 5 secs,多为空闲读超时(读空闲被服务器关闭)。
    • 出现 java.net.SocketTimeoutException: Read timed out,多为读取阶段超时(服务器等待请求体/数据未完成)。
    • 出现 BEA-001112 Test “select count(*) …” failed … last packet … longer than server configured value of ‘wait_timeout’,多为数据库服务端wait_timeout导致连接被数据库关闭,而WebLogic还在用。
    • 出现 StuckThreadMaxTime(如600秒)相关告警,多为应用处理时间过长被判定为“卡住线程”。
    • 出现 ResourceLimitException: No resources currently available in pool,多为连接池耗尽/获取连接超时

二、按场景给出解决方案

  • 空闲读超时(BEA-000449)

    • 现象:后台周期性打印“Closing socket … idle timeout …”,默认约5秒
    • 处理:在控制台提高服务器常规监听端口的登录超时(Login Timeout),路径:环境 > 服务器 > AdminServer > 优化 > 登录超时,将默认值5000 ms适当调大(如30000–60000 ms);若仅为日志干扰,也可选择过滤该类提示。注意该值过大可能掩盖真实网络/客户端问题。
  • 读取阶段超时(Read timed out)

    • 现象:日志含 Read timed out,堆栈指向 CompleteMessageTimeout / IdleConnectionTimeout / socket timeout 等。
    • 处理:在控制台提高Complete Message Timeout(如480–1200秒)与Idle Connection Timeout(如600秒);同时评估网络质量、客户端行为、上传/大数据量处理耗时,必要时优化SQL/分页/流式传输,避免单次请求处理过久。
  • 数据库侧导致的超时(BEA-001112、连接被DB关闭)

    • 现象:数据源“Test”失败,提示超过数据库 wait_timeout
    • 处理:
      • 将连接池的Test Frequency(如30–60秒)设置为小于数据库的 wait_timeout(如120秒),并启用测试保留/创建/释放的连接,指定Test Table Name,避免拿到已被数据库关闭的“假活”连接。
      • 同步评估并适度调大数据库 wait_timeout,或优化慢SQL/索引,减少长事务。
  • 连接池耗尽或获取连接超时

    • 现象:ResourceLimitException,活跃连接长期占满。
    • 处理:在数据源上调大Maximum Capacity(略高于峰值并发),并优化慢SQL/锁竞争;必要时结合线程转储分析线程在等什么资源。
  • 事务超时(JTA)

    • 现象:weblogic.transaction.internal.TimedOutException: Transaction timed out after 300 seconds
    • 处理:在控制台提高JTA Timeout Seconds;务必保证该值小于连接池的Inactive Connection Timeout,避免事务还未提交,连接已被连接池回收。
  • 会话超时(应用层)

    • 现象:用户会话提前失效、登录态丢失。
    • 处理:统一会话超时配置,避免冲突。优先级为:web.xml 的 (单位:分钟) > weblogic.xml 的 TimeoutSecs(单位:秒);如需统一在控制台管理,建议删除 web.xml 中的 定义。

三、Ubuntu系统层面的网络优化

  • 调整内核网络参数(/etc/sysctl.conf 或 /etc/sysctl.d/99-weblogic.conf),示例:
    • 增大本地端口与连接队列:net.ipv4.ip_local_port_range、net.core.somaxconn
    • 启用快速回收/复用:net.ipv4.tcp_tw_reuse、net.ipv4.tcp_tw_recycle(按需)
    • 增大全连接/半连接队列与超时:net.core.netdev_max_backlog、net.ipv4.tcp_max_syn_backlog、net.ipv4.tcp_fin_timeout
    • 调整TCP缓冲区:net.core.rmem_default、net.core.wmem_default、net.core.rmem_max、net.core.wmem_max
    • 应用生效:sysctl -p
  • 保障网络质量与容量:使用高性能网卡/交换机、合理规划带宽与延迟,并在必要时引入负载均衡/反向代理分担连接与故障转移。

四、推荐参数基线(示例,需结合实际压测微调)

  • 服务器监听与消息
    • Login Timeout30000–60000 ms
    • Complete Message Timeout600–1200 s
    • Idle Connection Timeout600 s
  • JDBC 数据源
    • Test Frequency30–60 s
    • 启用:Test Reserved/ Created/ Released Connections,配置Test Table Name
    • Inactive Connection Timeout300–600 s
    • Maximum Capacity:按峰值并发+安全余量设置
  • 事务
    • JTA Timeout Seconds:小于 Inactive Connection Timeout(如300 s
  • 会话
    • 统一在控制台用 weblogic.xml TimeoutSecs(秒)管理,避免与 web.xml 冲突。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何解决Ubuntu上WebLogic连接超时问题
本文地址: https://pptw.com/jishu/755588.html
Ubuntu如何解决WebLogic的并发问题 Ubuntu系统下WebLogic备份与恢复策略

游客 回复需填写必要信息