java服务压测连接中断org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连

2023-10-31

1.服务压测出问题

2021-06-16 09:04:51.062 [http-nio-8089-exec-78] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost] - Exception Processing ErrorPage[errorCode=0, location=/error]
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:333)
	at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:758)
	at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:663)
	at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:368)
	at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:346)
	at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2085)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment2(UTF8JsonGenerator.java:1400)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment(UTF8JsonGenerator.java:1347)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegments(UTF8JsonGenerator.java:1228)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeString(UTF8JsonGenerator.java:453)
	at com.fasterxml.jackson.databind.ser.std.StringSerializer.serialize(StringSerializer.java:41)
	at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:718)
	at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:639)
	at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:400)
	at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1392)
	at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:913)
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:287)
	at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:103)
	at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:289)
	at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:223)
	at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:119)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:998)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:890)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
	at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:394)
	at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:253)
	at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:348)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:173)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:770)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
	at sun.nio.ch.SocketDispatcher.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
	at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
	at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)
	at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1223)
	at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:743)
	at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:513)
	at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:451)
	at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:530)
	at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112)
	at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:189)
	at org.apache.coyote.Response.doWrite(Response.java:599)
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:328)
	... 56 common frames omitted

2.问题原因,tomcat连接数配置不合理

错误的配置

server.tomcat.accept-count=100
server.tomcat.max-connections=10000
server.tomcat.max-threads=500

服务压测到100个线程时就会出现上面远程主机强迫关闭了一个现有的连接的错误
在这里插入图片描述
正确的配置

server.tomcat.accept-count=600
server.tomcat.max-connections=10000
server.tomcat.max-threads=500

acceptCount应该大于等于maxThreads

3.参考连接
https://blog.csdn.net/wujiandao000/article/details/79068100
线程数设置参考连接
https://blog.csdn.net/zx_water/article/details/88017972

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java服务压测连接中断org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连 的相关文章

随机推荐

  • Sublime Text 3 装了Anaconda 写Python代码出现框框的解决办法

    Sublime Text 3代码提示插件Anaconda下载 http damnwidget github io anaconda carousel features 安装后写代码出现白框 光标移到白框行 下方状态栏里可以看到错误信息 可见
  • 80.带权的无向图

    带权的无向图 include
  • 如何用GPT轻松搞定一篇毕业论文。

    大家好 我是五竹 心血来潮整理了一份手册 ChatGPT学习指南 并且将为小白们持续更新和GPT相关的资源和教程 专注于打造一部最好的GPT入门指南 欢迎大家转发 收藏 点赞支持 谨防失联 下面 我将如何使用GPT写论文的步骤分享给大家 1
  • 怎么把半角引号替换成全角_巧妙批量互换全角与半角双引号

    工作中时常会遇到使用英文标点符号的文章 如图 2 38所示 为了规范文件编排 通常需要将所有的英文标点符号转换为中文标点符号 即达到如图 2 39所示的效果 使用查找和替换功能可以快速完成这一工作 下面以替换半角双引号为例进行介绍 图2 3
  • 3D游戏设计——UI系统

    HW9 1 血条 Health Bar 的预制设计 具体要求如下 分别使用 IMGUI 和 UGUI 实现 使用 UGUI 血条是游戏对象的一个子元素 任何时候需要面对主摄像机 分析两种实现的优缺点 给出预制的使用方法 IMGUI 使用一个
  • Python如何使用Any和All?代码示例和解析

    Any和All是python中提供的两个内置插件 用于连续的And Or Any 如果任何一项为True 则返回true 如果为空或全部为假 则返回False 可以将任何内容视为对提供的可迭代对象进行的一系列OR操作 它将执行短路 即一旦知
  • 单向链表(c/c++)

    链表是一种常见的数据结构 其中运用到了结构体指针 链表可以实现动态存储分配 换而言之 链表是一个功能强大的数组 可以在某个节点定义多种数据类型 可以实现任意的添加 删除 插入节点等 废话结束 前置知识 地址 结构体 malloc函数与循环选
  • Linux图形化界面安装

    点击创建新的虚拟机 选择自定义模式然后点击下一步 红色框内是根据自身电脑选择的 一般为默认的就行 然后点击下一步 选择一个镜像文件 选择安装到的路径还有虚拟机的名称 默认就行 也是默认 电脑配置好的话可以适当增加 根据需求选择不同的网络类型
  • 我与世界杯足球那些事——世界杯征文

    征文活动链接 https bbs csdn net topics 609601920 目录 第一次了解世界杯 第一次观看世界杯 世界杯主题曲 我最热爱的球员 今年世界杯 预测冠军 第一次了解世界杯 提起世界杯 我可能了解的比较晚一些 是在2
  • 【win11+Visual Studio 2019 配置 PCL 1.12.1 的经验总结分享】

    点云pc库的下载与安装参考另外一篇文章 链接 https blog csdn net weixin 47869094 article details 131270772 spm 1001 2014 3001 5501 各种教程里面这都很好
  • mysql-connector-java与mysql版本的对应

    记录下mysql connector java与mysql版本的对应关系 已方便以后参考 这是最新版本对应 时间 2017年5月23日 官网文档地址 https dev mysql com doc connector j 5 1 en co
  • kafka-__consumer_offsets

    consumer offsets zookeeper不适合大批量的频繁写入操作 Kafka 1 0 2将consumer的位移信息保存在Kafka内部的topic中 即 consumer offsets主题 并 且默认提供了kafka co
  • RACI 职责分配矩阵 模型使用详解及案例分析

    一 RACI产生背景 RACI是项目管理中的人力资源管理方法 一个项目团 队的成员往往来自于不同背景的各个部门 这些成员受部门经理和项目经理的双重管辖 由于这些人往往是临时组织起来的 并且项目的各个阶段扮演不同的角色 而项目的任务又很紧迫
  • Spring详解(二)------IOC控制反转

    我相信提到 Spring 很多人会脱口而出IOC 控制反转 DI 依赖注入 AOP等等概念 这些概念也是面试官经常问到的知识点 那么这篇博客我们就来详细的讲解 IOC控制反转 ps 本篇博客源码下载链接 百度网盘 链接不存在 密码 oquc
  • 全国计算机等级考试题库二级C操作题100套(第100套)

    第100套 给定程序中 函数fun的功能是 在形参s所指字符串中寻找与参数c相同的字符 并在其后插入一个与之相同的字符 若找不到相同的字符则函数不做任何处理 例如 s所指字符串为 baacda c中的字符为 a 执行后s所指字符串为 baa
  • LU分解

    在高等工程数学一书中 LU分解 LU Decomposition 是矩阵分解中最普通的一种 也是最经典的一种 它可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积 有时是它们和一个置换矩阵的乘积 LU分解主要应用在其数值分析中 用
  • Java远程连接Redis时出现: java.net.SocketTimeoutException: connect timed out的解决办法

    今天连接Redis报了了连接超时的错误 搞了半天终于把问题给解决了 这里来梳理一下我解决问题的思路 1 redis已经在linux上安装成功了 也已经正常启动了 端口6379 2 使用idea连接redis报连接超时 第一想法是没有开启re
  • ROI Align 解析

    ROI Align 是何凯明在2017年的论文Mask RCNN中提出的 该方法很好地解决了ROI Pooling操作中两次量化造成的区域不匹配 mis alignment 问题 本文将先从实验结果入手 然后分析ROI Pooling产生局
  • 电商运营中的五个数据陷阱

    来源 新媒之家 电商 看懂数据是基本功 软件可以解决繁琐的计算 但解读还需要运营人员有基本的数据分析能力 本文列举了五个常见的数据陷阱 了解和掌握后可以有效避免一些分析结果的偏差 如今 大数据 的概念被炒得沸沸扬扬 不可否认 数据确实是越来
  • java服务压测连接中断org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连

    1 服务压测出问题 2021 06 16 09 04 51 062 http nio 8089 exec 78 ERROR o a c core ContainerBase Tomcat localhost Exception Proces