亚马逊AWS非常慢,mysql和apache吃很多内存[关闭]

Posted

技术标签:

【中文标题】亚马逊AWS非常慢,mysql和apache吃很多内存[关闭]【英文标题】:amazon aws are very very slow, mysql and apache eat a lot of memeory [closed] 【发布时间】: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 谢谢回复,慢的意思是,我的网站非常非常非常慢,当我访问它时。 那么,您没有访问您显示的指标 :) 我可以建议尝试新的遗物吗?我认为他们有一个月的免费时间,这对分析瓶颈确实很有帮助。你基本上没有给我们任何东西——你说你的服务器太慢了,说(错误地)事情正在使用大量内存,然后向我们展示了描述一个完全空闲和内存丰富的系统的信息。您的网站在运行什么? 你在为你的应用运行什么栈? 投票结束。这个问题在这里完全是题外话。 【参考方案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问题。谢谢。

以上是关于亚马逊AWS非常慢,mysql和apache吃很多内存[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

AWS Mysql 5.5.40 安全组问题 强制更新

亚马逊AWS的云计算服务都有哪些优势

云计算巨头垄断,阿里云份额节节攀升,哪些A股小兄弟跟着吃肉?

亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计

Apache 不在 443 (aws) 上为 Django 提供服务

PHP:远程 MySQL 连接非常慢