反馈个问题,性能探测里测了 multipart/form-data 的请求,content-leng[阿里云函数计算]

反馈个问题,性能探测里测了 multipart/form-data 的请求,content-length 一直是0

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 如果你使用的是性能测试工具例如 Jmeter,那么在测试 multipart/form-data 请求时,可能会遇到 content-length 一直是 0 的问题。这是因为在此类型的请求中,content-length 会动态计算,因此设置 content-length 是无效的。此时,测量的结果会显示为 0。

    如果你需要测量 multipart/form-data 请求的性能,可以通过添加操作代码或使用插件来解决该问题。下面提供两种常用的解决方案:

    1. 使用 Jmeter 的 HTTP Raw Request 插件,可以完全手动配置 HTTP 请求,包括请求头、请求体和响应头等。可以通过手动添加 content-length 头来解决此问题。

    2. 另一种可行的解决方法是首先使用 Fiddler 等网络代理工具构建 multipart/form-data 请求,然后通过自定义样板代码或使用 Jmeter 的 HTTP Request 插件将其转换为性能测试中可用的操作代码。在此过程中,需要将测量脚本中的 content-length 设置为自定义样板代码中实际请求大小的值。

  2. multipart/form-data 是一种常见的 POST 请求内容类型,通常用于上传文件及其它二进制数据。在测量这种请求时,可能会遇到一些问题。

    就您提供的信息来看,可能是由于您的请求中未正确设置请求头或请求体导致的。multipart/form-data 请求的请求头中需要包含一些额外的信息,比如 boundary,boundary 定义了每个部分的边界,用于接收端解析请求体内容。同时,请求体也需要按照一定格式进行编码,以便解析器准确地解析内容。

    您可以检查一下请求体中是否包含文件数据,并且是否按照规定的格式进行编码。如果您使用的是 Postman 工具发送请求,可以直接使用 “form-data” 选项卡来设置请求体格式,并在请求头中设置完整的 boundary 信息。

    如果您的问题仍然存在,您可以更换其它的性能测试工具尝试,如 JMeter、LoadRunner 等,并检查请求的完整性,以便准确的测量性能数据。

  3. 不用探测,直接发请求,multipart 是可以的。手写的 multipart 的 body 发不出去,看了请求体是空的。

    此答案来自钉钉群“阿里函数计算官网客户”