- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们的处境非常残酷。我们在德国有一个网站,是一家在线商店。一天多次,我们有大量处于 CLOSE_WAIT 状态的连接从同一个 ip 显示在 netstat 中。 IP不同,但都在中国。我们仍然有中国客户。查看访问日志,我们看到问题中的ip的流量来自一个浏览器(useragent,session id),但它看起来不像真实流量,例如连续请求/500次,没有请求css ,js,它背后的图像。所以我们最终得到的是在 socketWrite0 中有大约 1000 个线程,其中 820 个线程将绑定(bind)到同一个 ip:
"http--0.0.0.0-8443-1201" daemon prio=10 tid=0x00007f7435257800 nid=0x5361 runnable [0x00007f73e162a000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:724)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:748)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:559)
at org.apache.coyote.Response.doWrite(Response.java:594)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:398)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
at org.apache.catalina.connector.OutputBuffer.realWriteChars(OutputBuffer.java:473)
at org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:469)
at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:295)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:505)
at org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:143)
at org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:152)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:240)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:419)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:840)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:622)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:560)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:488)
at x.y.z.common.web.dispatch.StartPageDispatcherServlet.forward(StartPageDispatcherServlet.java:52)
at x.y.z.common.web.dispatch.StartPageDispatcherServlet.service(StartPageDispatcherServlet.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at net.anotheria.moskito.web.MoskitoFilter.doFilter(MoskitoFilter.java:110)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at net.anotheria.moskito.web.MoskitoFilter.doFilter(MoskitoFilter.java:110)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at net.anotheria.moskito.web.filters.JourneyFilter.doFilter(JourneyFilter.java:84)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at net.anotheria.moskito.web.filters.MoskitoCommandFilter.doFilter(MoskitoCommandFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at x.y.z.common.web.useragent.TouchScreenDeviceFilter.doFilter(TouchScreenDeviceFilter.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at x.y.z.common.web.LandingPageFilter.doFilter(LandingPageFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at x.y.z.common.web.CharsetFilter.doFilter(CharsetFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.rewrite.RewriteValve.invoke(RewriteValve.java:466)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:722)
grepping netstat 输出显示此 ip 有 817 个连接处于 CLOSE_WAIT 状态,3 个处于 ESTABLISHED 状态。
访问日志显示:
140.206.78.100 [13/Feb/2013:15:20:48 +0100] http--0.0.0.0-8443-364 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1276 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:50 +0100] http--0.0.0.0-8443-364 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1259 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:51 +0100] http--0.0.0.0-8443-477 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 2991 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:53 +0100] http--0.0.0.0-8443-428 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 2456 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:54 +0100] http--0.0.0.0-8443-639 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1305 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:54 +0100] http--0.0.0.0-8443-491 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1326 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:56 +0100] http--0.0.0.0-8443-491 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1293 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:57 +0100] http--0.0.0.0-8443-663 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1315 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:20:59 +0100] http--0.0.0.0-8443-663 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 1277 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
140.206.78.100 [13/Feb/2013:15:21:02 +0100] http--0.0.0.0-8443-225 GET o1uNdliDOQhJkDnbvXo4RIZ2.undefined 2427 HTTP/1.1 443 / 200 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
1
我们使用 Jboss AS 7、java 6/7(都尝试过)、虚拟机上的 ubuntu、ssl 卸载和负载平衡与 alteon 负载平衡器。
附言:添加了 netstat 示例,其中三个:
tcp 0 0 my.public.ip:8443 140.206.78.100:14186 ESTABLISHED
tcp 0 35040 my.public.ip:8443 140.206.78.100:14620 ESTABLISHED
tcp 0 35040 my.public.ip:8443 140.206.78.100:13859 ESTABLISHED
其中 817 个:
tcp 1 35040 my.public.ip:8443 140.206.78.100:13233 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:11649 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:11605 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:11892 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:13692 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:11988 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:13055 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:13242 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:13073 CLOSE_WAIT
tcp 1 37960 my.public.ip:8443 140.206.78.100:10176 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:14557 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:12288 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:12509 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:11049 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:11839 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:14208 CLOSE_WAIT
tcp 1 35040 my.public.ip:8443 140.206.78.100:14662 CLOSE_WAIT
最佳答案
您正在遭受拒绝服务攻击。将该客户端 IP 地址列入黑名单。
关于java - 数百个 CLOSE_WAIT 连接正在蚕食我的线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856799/
我有一个监听套接字的应用程序。此应用程序由 nagios 监控。问题是,nagios 打开套接字并直接关闭它们。我的应用程序套接字停留在 CLOSE_WAIT 中。我不明白为什么会这样。它应该会遇到错
我在生产服务器上看到许多处于 CLOSE_WAIT 状态的连接,几乎没有问题。请指教。 我知道windows寄存器有以下参数:TcpTimedWaitDelay 在 HKEY_LOCAL_MACHIN
当我的两个守护进程相互通信时,我的套接字陷入 close_wait 状态。在阅读了有关该主题的不同问题和博客文章后,我已经验证我正在从双方(发起者和接收者)关闭套接字。 模型如下: 发件人:建立连接,
我们有一个连接到外部计费服务器的应用程序。一旦客户端的服务器出现中断,就会有数百个连接处于 CLOSE_WAIT 状态。 我检查了客户端代码。客户端似乎正在正确关闭 TCP 连接。 如果发生这种情况是
我在 Visual Studio 2010 上使用 VC++。 现在我遇到了一些问题。我认为这是一个愚蠢的问题,但我想得到一个明确的答案。 如何获得所选 SOCKET 的 CLOSE_WAIT 状态?
我无法关闭服务器然后再打开。我试过用大量的命令来杀死它,但我似乎仍然以大量的 CLOSE_WAITS 结束: netstat -a | grep 8043 tcp 1 0 l
在 CentOS 7 系统上,C++ 应用程序在 close_wait 状态下挂起连接,守护进程停止响应网络流量。我的理解是内核处理 TCP 堆栈管理并负责获取这些连接。 什么会导致这些连接挂起,我应
我有一个在 Linux 上的 JBOSS EAP 6.4.5 中运行的 Java 应用程序。在一段时间内,随着多个用户登录应用程序,它变得无法访问(连接失败错误)并显示警告消息。JBWEB003008
我在 C 中使用套接字编写了一个简单的程序,它在运行 Windows 的 X86 和运行嵌入式 Linux 的 ARM 之间创建了一个连接(仅由 Busybox 和 libc 组成)。突然这个小程序无
当应用程序启动时,我正在使用 Wininet 对我的服务器执行检查。 问题是在调用 CloseInternetHandle 之后套接字状态仍然是 CLOSE_WAIT,正如在 netstat 上看到的
我们的处境非常残酷。我们在德国有一个网站,是一家在线商店。一天多次,我们有大量处于 CLOSE_WAIT 状态的连接从同一个 ip 显示在 netstat 中。 IP不同,但都在中国。我们仍然有中国客
场景如下: 我正在从我的 C# 服务器应用程序向客户端发送大量数据。 突然数据流停止,客户端没有数据更新,端口被阻塞。 发生这种情况时,服务器端的症状是 Close_Wait 在该端口 (netsta
我有一个 Java 应用程序在 Windows 上的 WebLogic 11g 中运行,几天后它变得无响应。我注意到的一个可疑症状是大量连接(大约 3000 个)出现在 netstat 中,即使服务器
我编写了一个与特定端口上的服务器交互的小程序。该程序运行良好,但是: 一旦程序意外终止,并且该套接字连接显示为 CLOSE_WAIT 状态。如果我尝试运行一个程序,它会挂起,我必须强制它关闭,这会累积
Camel http 组件没有正确关闭连接? 通过以下路线,我观察到正在服务器上创建连接,但没有终止。 一段时间后,这会导致问题 java.io.IOException: Too many open
下面是基本的客户端和服务器代码。虽然我试图在连接调用期间启动一个应用程序(一旦我们向服务器发送消息,该应用程序就必须在计算机中保持运行)。在客户端代码中使用 system(/bin/myApplica
CLOSE_WAIT 中的 Jetty 连接未关闭。嵌入式 jetty(9.4.11) 与 Glassfish 一起用于容器和依赖项注入(inject)。 Ngnix 负载均衡器将请求转发到充当客户端
acceptCount 队列在操作系统级别维护。假设我们有一个 10K 的 acceptCount 队列。 情况 - 由于依赖关系或网络问题之一,服务器无法处理请求或花费很长时间,并且在此期间所有客户
我有一个用 C 语言编写的简单服务器,它从各种来源接受传感器和状态信息,然后将其整合并重新格式化为 ASCII 文本行流以供客户端使用。客户端通过监听器套接字连接,然后读取消息流并对其执行任何操作,直
我在一个众所周知的 TCP 端口上有一个服务器,许多客户端连接到该端口。客户端使用非阻塞选项连接到服务器。 当我终止服务器进程时,客户端套接字进入 CLOSE_WAIT 状态。现在,如果我重新启动服务
我是一名优秀的程序员,十分优秀!