在调用Docker服务时获得更好的TTFB
我正在使用DotNet核心1.1运行Web API应用程序,在部署在Kubernetes上的Docker容器中运行它。我在IIS上部署了完全相同的API(Azure上的VM)(IIS VM和Kubernestes主服务器和代理具有相同的规范,并且都连接到同一个数据库服务器)
对IIS上部署的API的请求很快,如下图所示
对Docker内部Kubernetes上部署的API的请求很慢
这是我的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核心性能相关的明确文档。
答案 0 :(得分:0)
我认为至少有两个原因:
您的Web API应用程序依赖于某些数据库/存储,并且由于某些原因,当您在k8上运行它时会有更大的延迟。
可能您没有为CPU配置部署limits/requests。