首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安装了EC2站点的计算机中,每次drupal利用率都达到100%。

在安装了EC2站点的计算机中,每次drupal利用率都达到100%。
EN

Server Fault用户
提问于 2020-01-10 14:06:39
回答 1查看 1.5K关注 0票数 1

我的生产drupal网站运行在EC2上。最近我们注意到我们的EC2 CPU利用率达到了100%。我检查了我的网站流量,那里的用户不多。我使用EC2命令检查了在top中运行的进程。我看到了一个命令jbd2_sda1-8。我不明白这个命令是用来干什么的。我看到该命令是由用户www-data调用的,它显示该命令的CPU使用率为200%。据我所知,www-data意味着命令是由运行在我的机器上的某个应用程序调用的。我使用PHP-7.1和Nginx作为我的drupal站点。我运行了命令sudo service php7.1-fpm restart。然后我检查了过程。这个过程被杀了。因此,我假设该命令是由某个php进程调用的。我检查了EC2监控,我的CPU使用率下降到了3%。

在大约一个小时的时间里,一切似乎都很好,突然,我再次从AWS那里得到警告,说CPU使用率很高。我做了同样的进程来调试。这一次我看到了一些不同的命令kjournald。这个过程占用了较高的CPU,这也来自于用户www-data

我很困惑,我试图找出这个命令的含义,我什么也不明白,我也没有发现旧进程和新进程之间的任何关系。

这个问题一直在发生。如果我重新启动php,该进程将被终止,并且在一段时间后它将再次出现。我不知道是怎么回事。

我的试射实验:

  • 我复制了代码并将其放置在我的暂存环境中,在这台机器中,我没有面临这个问题(因为它是暂存的,根本没有流量)。我试图映射,生产DNS到暂存,因为它没有显示任何问题,但在DNS映射之后,同样的问题也发生在第二个环境中。一审就正常了。
  • 我启用了nginx中的访问监视,并检查了100% CPU时出现的任何异常请求(以检查我的站点是否受到了某种攻击)。在CPU启动时我找不到任何可疑的请求。
  • 我启用了ELB中的访问监视,并使用AWS athena检查了请求。在那里也找不到任何东西。

我被困在这里了。不知道怎么回事。有人能帮忙吗?

EN

回答 1

Server Fault用户

发布于 2020-01-10 14:42:48

如果kjournald消耗了大量资源,这意味着您的操作系统正在执行大量日志操作,这些操作是由于文件系统(磁盘操作)的更改而产生的。

这意味着对文件系统的写入要比它应该做的要多得多,或者您的块存储存在一些问题。

使用lsof查看操作系统在任何给定时间都在使用哪些文件。

如果您的生产和暂存环境是同时在同一个AZ中使用相同的实例类创建的,并且您确信您的PHP应用程序设计得很好(如果它的Drupal是正确的),并且您最近没有更改任何东西,那么我会考虑重新配置EC2实例。

创建快照并重新部署,最好是在不同的实例类上,以确保您移动到不同的基础结构堆栈。

我猜想这些实例都是EBS支持的,在这种情况下,它们可能在AWS中使用一些已经损坏的块存储。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/998459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档