【问题标题】:Amazon EC2 instance become slow everydayAmazon EC2 实例每天变慢
【发布时间】:2017-04-28 09:53:21
【问题描述】:

我的 EC2 实例有一些问题。

背景:我是 AWS 新手,刚刚将我的第一个 Wordpress 测试站点部署到 T2.Large 实例上。我知道我们需要 Elastic Beanstalk 来使其具有可扩展性,但是,我们只想将此测试站点作为开发环境。我们有 6 个人同时使用 Wordpress,我可以确保我们的 Wordpress 没有任何错误。

我的问题:这个EC2实例每天都会慢慢变慢。工作一天后响应时间从200ms增加到5.6s。如果我重新启动我的 HTTPd 和 MySql,那么一切都解决了。所以我有三个问题:

  1. 这对于恶劣的 EC2 环境是否正常?

  2. 我应该做一些配置来每天重启我的 HTTPd 和 MySql 吗?

  3. 如果我更改为 Elastic Beanstalk 环境,这个问题会消失吗?

感谢您回答我的问题!

【问题讨论】:

  • 我首先要指出确切的问题。尝试仅重新启动 MySQL 或仅重新启动 HTTPd,看看它是否解决了问题。然后使用一些性能实用程序来找出它们速度慢的原因。这可能只是一个配置问题。

标签: mysql wordpress apache amazon-web-services amazon-ec2


【解决方案1】:

我远不是 AWS 专家,但这可能取决于您在 EC2 实例上运行的负载类型。您在 T2 上运行,这是一个可突增的实例并以积分运行。

突发性能实例提供基准级别的 CPU 具有突破基线能力的性能。 T2 实例 适用于不经常或始终不使用完整 CPU 的工作负载, 但偶尔需要爆发。

T2 实例的基准性能和突增能力由 CPU 积分控制。

来自 AWS 文档 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html#t2-instances-monitoring-cpu-credits):

CPU Credit 提供一个完整 CPU 内核的性能 分钟。传统的 Amazon EC2 实例类型提供固定的 性能,而 T2 实例提供基准级别的 CPU 能够突破该基线水平的性能。这 基准性能和爆发能力由 CPU 积分控制。

什么是 CPU 积分?

一个 CPU 积分等于一个 vCPU 以 100% 的利用率运行 等一下。 vCPU、利用率和时间的其他组合是 也等于一个 CPU 积分;例如,一个 vCPU 以 50% 的速度运行 两分钟的利用率或以 25% 利用率运行的两个 vCPU 两分钟。

如果我用完所有积分会怎样?

如果您的实例使用了其所有 CPU 积分余额,则性能 保持在基准性能水平。如果您的实例正在运行 积分不足,您的实例的 CPU 积分消耗(因此 CPU 性能)逐渐降低到基本性能水平 超过 15 分钟的间隔,因此您不会体验到尖锐的 当您的 CPU 积分耗尽时,性能下降。如果你的 实例始终使用其所有 CPU 积分余额,我们建议 更大的 T2 大小或固定性能实例类型,例如 M3 或 C3.

您的积分可能不足,导致您的机器运行缓慢。

使用 CloudWatch 监控 EC2 实例的信用并查看是否发生任何事情可能是个好主意(CPUCreditBalanceCPUCreditUsage 是相关指标)。

如果您发现问题是由低积分引起的,您可以尝试切换到其他实例类型(即 M4 或 C4)。

【讨论】:

  • 谢谢伙计!这正是我遇到的问题!奇怪的是,我发现我的 CPU 积分余额从昨天下午 4 点到今天凌晨 2 点一路下降到零,但基本上,那个时候应该没有人使用服务器。有什么不正常的吗?
  • @yifei3212 这取决于你的意思。 EC2 机器本身不太可能有任何问题,但是某些东西(使用或错误或低效代码)正在使您的 CPU 处于峰值,您需要对此进行调查。 t2.large 的平衡点是两个内核连续使用 30% 或一个内核使用 60% 或任何等效组合,这对于一个据称什么都不做的系统来说是相当多的。
  • @Michael-sqlbot 谢谢,伙计。我发现我的代码有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 2013-10-27
  • 2016-05-31
  • 2015-06-02
  • 1970-01-01
相关资源
最近更新 更多