dotnet核心web api在内置Docker容器上运行并在Kubernetes上运行

时间:2017-12-07 14:49:55

标签: performance docker iis kubernetes .net-core

在调用Docker服务时获得更好的TTFB

我正在使用DotNet核心1.1运行Web API应用程序,在部署在Kubernetes上的Docker容器中运行它。我在IIS上部署了完全相同的API(Azure上的VM)(IIS VM和Kubernestes主服务器和代理具有相同的规范,并且都连接到同一个数据库服务器)

对IIS上部署的API的请求很快,如下图所示

enter image description here

对Docker内部Kubernetes上部署的API的请求很慢

enter image description here

这是我的Dockerfile:

 FROM microsoft/aspnetcore:1.1
 ENV ASPNETCORE_ENVIRONMENT Docker
 WORKDIR /app
 EXPOSE 80
 COPY . /app/
 ENTRYPOINT ["dotnet", "X.X.X.API.dll"]

可能导致此行为的原因是什么?我到处都看不到与Docker上的DotNet核心性能相关的明确文档。

1 个答案:

答案 0 :(得分:0)

我认为至少有两个原因:

  1. 您的Web API应用程序依赖于某些数据库/存储,并且由于某些原因,当您在k8上运行它时会有更大的延迟。

  2. 可能您没有为CPU配置部署limits/requests