繁体   English   中英

.net core 3.1 docker 容器响应极慢

[英].net core 3.1 docker container extremely slow response

我们有几个 API 托管在 AWS Elastic beanstalk 中。 我们决定将所有这些应用程序组合到一个单独的 docker 容器下的单个 EC2 实例中,以隔离它们的环境。 设置后我遇到了性能问题。 响应时间非常慢(~58 秒)

我查看了 docker 统计数据,但 memory 没有占用资源,CPU 没有飙升,一切似乎都很正常。 这不是一个新的应用程序,我们已经使用这个应用程序一年多了。

让我分享我的 docker 文件内容和我构建它的方式以及我用来运行图像的命令。

EC2 实例: us-east-1 区域中的 t3a.small

Dockerfile:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
COPY release_dll/  /root/
WORKDIR /root/
ENV ASPNETCORE_URLS="http://*:80" 
EXPOSE 80
ENTRYPOINT ["dotnet", "vizdom.webapi.dll"]

Docker 构建命令: sudo docker build -t ss-webapi.

Docker 运行命令: sudo docker run -e AS.NETCORE_ENVIRONMENT=Dev -itd -.network=ss-su.net --ip 172.18.0.3 ss-webapi

ss-su.net .network 使用桥接模式驱动程序。

在同一台机器上有 nginx 反向代理,它将请求路由到各个容器

例如:

location /webapi{
rewrite ^/webapi(.*) $1 break;
proxy_pass http://172.18.0.3:80;
proxy_set_header    Host                $host;
proxy_set_header    X-Real-IP            $remote_addr;
proxy_set_header    X-Forwarded-For        $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
}

我不知道可以做些什么来提高速度。 我怀疑它与.network 相关,但不确定。

该问题已被追踪。 我的 API 托管在 us-east-1 区域,而由于存在延迟,我试图访问 ap-southeast-1 区域中的数据。 我将移动单个区域中的所有资源,以减少成本和延迟问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM