【问题标题】:AKS API Load testing error: Premature end of Content-Length delimited message bodyAKS API 负载测试错误:内容长度分隔的消息正文过早结束
【发布时间】:2020-04-12 14:24:52
【问题描述】:

在负载测试时,在 API 的一些成功响应后,JMeter 记录错误: 'Content-Length 分隔的消息正文过早结束'。

从代码内的日志来看,响应似乎正常完成。

APP 部署在 AKS 上,带有入口 nginx/1.15.10 控制器。 APP 包含 4 个独立的 API(一个主控调用其他 3 个)。 API 在 FLASK 中使用 CONNEXION 创建,并在 Tornado HTTPServer 上的 WSGIContainer 中运行。

另一个令人困惑的因素是 APP 部署在同一群集上的两个 AKS 实例上。一个部署不返回错误,而另一个则返回。

什么可能导致错误?

【问题讨论】:

  • 你能提供更多信息吗,一个主,三个从,这 4 个容器在一个 pod 中运行吗?当你说你有 2 个 pod 在两个不同的节点上运行时,那些是从属 pod 的主 pod 吗?测试您的应用程序时,您使用的是 nginx 端点吗?您是否尝试过直接点击应用程序 svc 或什至直接点击应用程序。

标签: api flask kubernetes tornado azure-aks


【解决方案1】:

我建议限制您的测试范围。

1) 直接针对应用程序(绕过 k8s svc 和入口控制器)。确保您针对在两个不同节点上运行的每个应用程序。你还发现这个问题吗?

2) 直接针对应用服务(绕过入口控制器),确保针对在两个不同节点上运行的每个应用。你还发现这个问题吗?

3) 使用入口定位应用程序,确保您定位在两个不同节点上运行的每个应用程序。你还发现这个问题吗?

根据这些结果,我们应该能够更好地查明问题的根源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2020-11-19
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多