【问题标题】:amazon aws are very very slow, mysql and apache eat a lot of memeory [closed]亚马逊AWS非常慢,mysql和apache吃很多内存[关闭]
【发布时间】:2014-04-19 03:03:12
【问题描述】:

我正在使用亚马逊 aws ec2,它非常非常慢。不知道哪里错了。

我正在使用freetop 命令,发现mysqlapache 占用了大量内存。

这里是top -M

我发现apachemysql 吃得更多。

这里是 apache 信息:

[ec2-user@www ****]$ httpd -v
Server version: Apache/2.4.6 (Amazon)
Server built:   Sep 20 2013 18:01:06

Mysql 信息:

Server version: 5.5.34 MySQL Community Server (GPL)

我没有修改任何 mysql & apache 配置文件,接下来我该怎么做? 欢迎提出任何建议。

【问题讨论】:

  • 这一切看起来都很正常。你有足够的空闲内存,“缓存”内存本质上也是空闲内存,你没有交换。你也没有显示 iowait。您需要更具体地了解“慢”的含义,因为我在这里没有看到任何表明任何问题的东西。 MySQL 和 Apache 都倾向于使用并保留大量内存,以提高它们的性能。
  • @Michael-sqlbot 谢谢回复,慢的意思是,我的网站非常非常非常慢,当我访问它时。
  • 那么,您没有访问您显示的指标 :) 我可以建议尝试新的遗物吗?我认为他们有一个月的免费时间,这对分析瓶颈确实很有帮助。你基本上没有给我们任何东西——你说你的服务器太慢了,说(错误地)事情正在使用大量内存,然后向我们展示了描述一个完全空闲和内存丰富的系统的信息。您的网站在运行什么?
  • 你在为你的应用运行什么栈?
  • 投票结束。这个问题在这里完全是题外话。

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


【解决方案1】:

您没有向我们展示任何理由认为这很慢。您已经向我们展示的是,您的几乎所有内存都是空闲的,并且从图片上看,您的 CPU 处于空闲状态。

在分析内存使用情况时,请记住“缓存”内存用于保存从硬盘驱动器中检索到的内容。 linux内核不会释放内存然后浪费它,而是巧妙地将数据留在内存中,并在必要时将其清除。这是一件好事——这意味着很多东西,例如 mysql 数据文件,尽可能地存在于内存中。在内存中缓存文件是一件很棒的事情!您实际上有超过 6 场免费演出。

顶部的VIRT内存基本上没有意义-忽略它。请参阅https://serverfault.com/questions/138427/top-what-does-virtual-memory-size-mean-linux-ubuntu 您应该查看的是 RES - mysql 为 256M,Apache 和 mod-php 为几十兆。实际上,对于您似乎拥有的服务器(大型,内存为 7 gigs),如果您的数据库中有超过 200 兆左右的数据,您可能应该将 more 用于 mysql,因为它会带来巨大的性能提升。

如果您的网站速度很慢,那不是因为内存问题。

确定可能的性能瓶颈需要考虑的几个问题:

  • 您使用的是什么实例类型?
  • 是 Ephemeral 支持还是 EBS 支持?
  • 当服务器“慢”时,您是否看到等待时间达到峰值?
  • 您正在运行什么 php 应用程序?

AWS 实例的内存和临时存储通常动力不足。例如,大型实例有 7 gigs 的 ram,但只有 2 个 2ghz 大约 2007 年的处理器。所以他们无论如何都不快。 c1 和 m3 系列实例在这方面做了很多改进。

【讨论】:

  • 感谢 Dan,我已经解决了我的问题。
  • 那么问题出在哪里?也许其他人可以学习!
  • 我有一个 sql 查询性能问题。不是内存或cpu问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-12-08
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 2016-11-26
相关资源
最近更新 更多