当前位置: 首页 > 知识库问答 >
问题:

http请求正文解析导致高cpu消耗

杜哲彦
2023-03-14

由于请求体处理,我看到了一个CPU消耗高于预期的问题。我的简单应用程序是使用VertX-Web构建的。它接受POST请求,断言正文长度与内容长度头匹配。此应用程序正在使用一个驱动程序对2个HTTP操作进行基准测试。第一个发送1K,第二个发送8K。每1000毫秒一次。尸体只是短信。

在基准测试期间,我发现stackdumps显示多个线程在同一个方法中

io.netty.handler.codec.http.multipart.httpPostStandardRequestDecoder.ParseBodyAttributes

为了进一步研究,我将JFR附加到服务器进程并重新运行基准测试。JFR显示Netty方法parseBodyAttributes占抽样方法的93.5%。

HTOP显示两个内核几乎固定在100%。

以前有没有看到过这种方法的表现?

共有1个答案

闻人修明
2023-03-14

返回并检查加载驱动程序配置显示了与初始注释中提供的字节数不同的字节数。而不是1K,而是1024K和8192K。这就开始解释用多部分/表单数据内容解析activity的层次。

 类似资料:
  • 问题内容: 我正在处理HTTP流量数据集,该数据集由完整的POST和GET请求组成,如下所示。我已经用Java编写了代码,该代码已经分离了每个请求,并将其另存为数组列表中的字符串元素。 现在我很困惑如何在Java中解析这些原始HTTP请求,有什么方法比手动解析更好吗? 问题答案: 我[正在]处理[HTTP]流量数据集,该数据集由完整的POST和GET请求组成 因此,您想解析包含多个HTTP请求的文

  • 我正在研究HTTP流量数据集,它由完整的POST和GET请求组成,如下所示。我用java编写了代码,将每个请求分开,并将其保存为数组列表中的字符串元素。现在我很困惑如何在java中解析这些原始HTTP请求,有什么方法比手动解析更好吗?

  • 我有一个现有的spring boot应用程序。我刚刚在、中添加了acturetor。 执行器工作有响应代码错误 来自日志:看起来spring无法解析某个参数。下面是日志。 019-05-15 14:38:24.747 DEBUG 8964---[nio-8090-exec-3]o.s.web.servlet.dispatcherServlet:GET“/acturet/health”,parame

  • HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ① 是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST,Spring 3.0提供了一个HiddenHttpMethodFilter,允许你通过“_method”的表单参数指定这些特殊的HTTP

  • 问题内容: 我正在为我们的应用程序开发新的RESTful Web服务。 在某些实体上执行GET时,客户端可以请求实体的内容。如果他们想添加一些参数(例如,对列表进行排序),则可以在查询字符串中添加这些参数。 另外,我希望人们能够在请求正文中指定这些参数。 HTTP / 1.1似乎并未明确禁止这样做。这将使他们能够指定更多信息,可能使指定复杂的XML请求更加容易。 我的问题: 这是个好主意吗? HT

  • 本文向大家介绍Python Http请求json解析库用法解析,包括了Python Http请求json解析库用法解析的使用技巧和注意事项,需要的朋友参考一下 httpparser介绍 :1.解析字节类型的http与https请求数据 :2.支持已k-v形式修改请求数据 :3.支持重新编码请求数据 源码 如何使用 1.解析请求数据 request_first,request_headers,req