EC2实例运行非常缓慢

7
我正在运行一个Ubuntu Server机器上的EC2实例。安装了Tomcat和MySQL,并在其上部署了Java Web应用程序,已经运行了一个月。它的性能一直很好,但最近我的应用程序响应非常缓慢。 还需要注意的是:以前我通过PuTTY登录Ubuntu服务器时很快,但现在即使输入Ubuntu密码也要花费时间。 有解决方案吗?

1
EC2实例类是什么?如果它是t2.*,则您需要在控制台中选择实例后,在“监控”选项卡下检查您的“CPU信用余额”,不仅现在,而且历史上进行比较。 - Michael - sqlbot
5个回答

7
我会从检查内存/CPU/网络可用性开始,以确定它是否存在瓶颈。
请尝试以下命令:
- 检查内存可用性: `free -m` - 检查CPU使用情况: `top` - 检查网络使用情况: `ntop` - 检查磁盘使用情况: `df -h` - 检查磁盘IO操作: `iotop`
此外,请检查当您禁用应用程序时,是否能够快速登录到该机器。如果登录仍然很慢,则应联系EC2支持人员投诉性能差,并要求为该机器分配更多资源。

1
我检查了内存状态,RAM几乎满了,所以我清除了缓冲区和缓存内存。现在它运行良好。感谢大家的支持。 - Simar
检查CPU使用率: 有些人喜欢使用“top -n 1”运行一次并从命令中退出。 - Tonio Liebrand

1
您可以使用 WAIT工具来诊断服务器或应用程序的问题。该工具将收集有关CPU和内存利用率、运行线程等所有信息。

0
此外,我一定会使用VisualVM或其他分析工具检查Tomcat应用服务器。有关配置Tomcat的JMX,您可以查看此处的文章
对于网络监控,nload 工具值得您关注。您可以在screen中启动它,这样当服务器变慢时,您就可以始终检查网络利用率统计信息。

0

首先检查是否有任何应用程序使用过多的CPU或内存。这可以通过使用top命令来检查。我会告诉你两个简单的快捷键,可能在使用top命令时有所帮助。在top命令结果页面中,如果输入M,它将根据内存使用情况从高到低排序应用程序。如果输入P,它将根据CPU使用情况从高到低排序应用程序。

如果您无法找到任何可疑的应用程序使用top,则可以使用iotop,它将显示磁盘I/O使用详细信息。


0

我曾经遇到过同样的问题,对我有效的解决方案是

Restart the ec2 instance

编辑

最近,我发现这个问题是由于EC2机器可用资源(内存、CPU)较少造成的。因此,请检查EC2机器上的可用资源。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接