gpt4 book ai didi

java - AWS fargate 的性能问题

转载 作者:行者123 更新时间:2023-12-04 12:04:45 26 4
gpt4 key购买 nike

我们有一个旧的 Java 应用程序在 Jboss As 7.1.1 中运行。目前,此应用程序在 AWS EC2 实例类型 t3.medium 上运行,该实例类型为 2 个 CPU 内核和 4GB 内存。
我们正在尝试使用 CI/CD 和 AWS Fargate 对我们的应用程序进行现代化改造。我们成功地实现了现代化,但不是通过性能。
Fargate 的任务定义与 EC2 实例具有相同的 CPU 和内存(2048 个 CPU 和 4096 个内存)。 Farget 与 EC2 实例位于同一子网中并链接到同一安全组。我们无法理解性能缓慢的原因。
该应用程序通常会搜索音乐作品的详细信息(创作者、出版商、艺术家等)。如果我们制作一个包含大量相关方的音乐作品,在 EC2 实例中需要不到 20 秒,但在 Fargate 中需要大约 30 分钟。
我从运行在 EC2 实例和相同 Java 版本上的同一个 Jboss 创建了 docker 镜像。
还有一条信息,数据库位于不同的(非 AWS)数据中心。
您能否指导我如何使用 AWS Fargate 实现与旧设置相同的性能?我在 Fargate 中缺少什么?
任务定义

{
"containerDefinitions": [
{
"name": "CONTAINER_NAME",
"image": "<IMAGE1_NAME>",
"memory": 4096,
"essential": true,
"logConfiguration": {
"logDriver": "awslogs",
"secretOptions": null,
"options": {
"awslogs-group": "/ecs/TaskDefinitionName",
"awslogs-region": "eu-central-1",
"awslogs-stream-prefix": "ecs"
}
},

"portMappings": [
{
"hostPort": 8080,
"containerPort": 8080,
"protocol": "tcp"
}
]
}
],
"compatibilities": [
"EC2",
"FARGATE"
],
"requiresCompatibilities": [
"FARGATE"
],
"networkMode": "awsvpc",
"cpu": "2048",
"memory": "4096",
"family": "TaskDefinitionName",
"taskRoleArn": "arn:aws:iam::accountId:role/ecsTaskExecutionRole",
"executionRoleArn": "arn:aws:iam::accountId:role/ecsTaskExecutionRole"
}

最佳答案

我从 AWS 支持得到的答案如下。
“ECS Fargate 任务可以放置在任何可用的底层主机上,并且满足任务定义中指定的 CPU 和内存,因此可能具有不同的性能。EC2 实例更适合需要控制应用程序性能的情况。 ”
我对开发人员的建议,如果网络吞吐量和 IO 性能对您的应用程序很重要,最好使用 EC2。

关于java - AWS fargate 的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67983075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com