【问题标题】:too many SYN_RECV state of my resin server我的树脂服务器的 SYN_RECV 状态太多
【发布时间】:2012-10-13 14:57:33
【问题描述】:

这里有一些信息:

cat /proc/net/sockstat

插座:使用 541 TCP:正在使用 4000 孤儿 3515 tw 4459 分配 4011 内存 2012 UDP:正在使用 2 RAW: 使用 0 碎片:正在使用 0 内存 0 TIME_WAIT 6014 CLOSE_WAIT 5 FIN_WAIT1 1563 FIN_WAIT2 47 成立 586 SYN_RECV 1314 收盘 154 最后确认 211 CPU:0.1% us,0.1% sy,0.0% ni,99.8% id,0.0% wa,0.0% hi,0.0% si

resin服务器响应一个HTTP请求需要几秒钟,这困扰了我很长时间。

我需要更多服务器吗?尽管 CPU 使用率很高,但服务器负载似乎一点也不重。

【问题讨论】:

    标签: java http resin


    【解决方案1】:

    您可能会查看一些内容来帮助追踪这一点。这可能是旧版本 Resin 的线程不足问题。 (这个猜测不适用于 Resin 4.0,但调试过程类似。)

    如果您拥有 Resin 4.0 专业版,请生成 PDF 报告或查看 /resin-admin。尤其是看一下线程图。

    或者在 /resin-admin 或使用“resinctl thread-dump”或使用 jps/jstack 中查看线程转储。

    您应该在 accept() 中看到针对您的 HTTP 端口的多个线程,以及处理请求的多个线程。

    如果您在 accept() 中只看到一个或两个用于端口的线程,那么您可能遇到了这个问题。

    你可以升级到 Resin 4.0 或者你可以增加到更大的值,比如 4096。旧的 Resin 3.x 默认设置太低,因为当时很少有 64 位机器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 2015-10-18
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      相关资源
      最近更新 更多