Amazon EC2服务器运行速度非常慢

我有一个在EC EC2上运行Ubuntu 12.04的c1.medium层服务器。 我们把它作为一个开发服务器,托pipe5-8个Drupal 7站点。 最近服务器一直performance得非常慢,我正在努力寻找原因。 我search了日志,但无法检测到任何明显的东西。 我注意到,无论服务器何时开始爬行/崩溃 – 查看EC2控制台上的云观察图,始终存在不寻常的高峰。 任何关于如何调查和识别这些问题的build议,以及它们来自哪里..我已经附上top的输出和我的apache2.conf文件的片段。

任务:总共117次,跑步1次,睡觉113次,停3次,僵尸0次
 Cpu(s):0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st
 Mem:共1733244k,使用了1647596k,85648k免费,4612k缓冲区
交换:共917500k,使用644984k,272516k免费,69512kcaching

   PID用户PR NI VIRT RES SHR S%CPU%MEM时间+命令                                                                                                                                                
 16417 mysql 20 0 1317m 199m 1784 S 0 11.8 3:19.84 mysqld                                                                                                                                                 
 18087 www-data 20 0 483m 139m 3132 S 0 8.3 0:11.15 apache2                                                                                                                                                
 18019 www-data 20 0 483m 136m 3208 S 0 8.1 0:13.52 apache2                                                                                                                                                
 18088 www-data 20 0 477m 131m 2952 S 0 7.8 0:10.31 apache2                                                                                                                                                
 17958 www-data 20 0 533m 130m 2948 S 0 7.7 0:16.77 apache2                                                                                                                                                
 17959 www-data 20 0 450m 103m 3192 S 0 6.1 2:05.47 apache2                                                                                                                                                
 17987 www-data 20 0 443m 97m 3188 S 0 5.8 0:10.76 apache2                                                                                                                                                
 17961 www-data 20 0 438m 95m 3180 S 0 5.7 0:13.21 apache2                                                                                                                                                
 18089 www-data 20 0 443m 83m 3172 S 0 4.9 0:06.69 apache2                                                                                                                                                
 18068 www-data 20 0 412m 68m 3148 S 0 4.0 0:07.99 apache2                                                                                                                                                
 18459 www-data 20 0 411m 68m 3204 s 0 4.0 0:01.27 apache2                                                                                                                                                
 17960 www-data 20 0 410m 67m 3812 S 0 4.0 0:06.79 apache2                                                                                                                                                
 18283 ubuntu 20 0 26720 6908 0 S 0 0.4 0:00.59 bash                                                                                                                                                   
 18460 www-data 20 0 350m 2788 804 S 0 0.2 0:00.00 apache2                                                                                                                                                
 13391根20 0 350m 1700 16 S 0 0.1 0:03.25 apache2                                                                                                                                                
 17830 Ubuntu的20 0 26768 1468 620 S 0 0.1 0:01.48 bash                                                                                                                                                   
 18463 ubuntu 20 0 17332 1288 944 R 0 0.1 0:00.04 top                                                                                                                                                    
  8024根20 0 2632m 936 0 S 0 0.1 14:24.58 java                                                                                                                                                   
 18134根20 0 73352 772 0 S 0 0.0 0:00.06 sshd                                                                                                                                                   
 18282 ubuntu 20 0 73352 756 0 S 0 0.0 0:00.03 sshd                                                                                                                                                   
     1 root 20 0 24420 516 0 S 0 0.0 0:13.99 init                                                                                                                                                   
   909后缀20 0 27372 348 208 S 0 0.0 0:43.46 qmgr                                                                                                                                                   
   797根20 0 15972 320 232 S 0 0.0 25:04.39 irqbalance                                                                                                                                             
   900根20 0 25096 272 172 S 0 0.0 1:49.94主                                                                                                                                                 
   664 syslog 20 0 248m 244 0 S 0 0.0 18:20.90 rsyslogd                                                                                                                                               
 16201 ubuntu 20 0 73468 220 0 S 0 0.0 0:00.07 sshd                                                                                                                                                   
 16904 ubuntu 20 0 73468 216 0 S 0 0.0 0:00.03 sshd   
超时20
保持活跃
 MaxKeepAliveRequests 500
 KeepAliveTimeout 2
 IfModule mpm_prefork_module>
     StartServers 5
     MinSpareServers 5
     MaxSpareServers 12
     MaxClients 40
     MaxRequestsPerChild 10000
 / IfModule>configuration

完全新的这一切..任何意见,非常感谢。 干杯

安装atop并作为守护进程运行,并logging到/var/log/atop.log 。 然后,下一次你有一个令人讨厌的负载峰值,你可以atop -r /var/log/atop.log运行atop -r /var/log/atop.log并查看发生的时间机器的状态(使用t键快速浏览日志)。

atop显示数据的有用性和完整性方面优于top

你的记忆使用看起来很高。 我可以看到,当您从顶部收集信息时,您正在使用相当多的交换空间,但这实际上是交换进出交换的数据量,而不是正在使用的数量。 我猜这是事实。

你的交换使用的数字从阅读到阅读? 如果是这样,这几乎肯定是你的问题,无论如何,你将从减less内存使用和/或添加RAM到你的虚拟机中受益。

另外,如果调换交换是你的问题,那么当你的机器做任何事情时,你会看到处于等待状态的进程的数量上升。 在您的列表中“0.0%wa”,但鉴于系统显示100%空闲,我假设它介于networking请求之间会导致问题。

只是做一个信封types计算,如果你的apache进程当前每个消耗大约5%的RAM(还有更多),那么最多允许其中的40个(MaxClients)是麻烦的,并且会使用大约两倍的RAM你真的有。

对于像你这样的一个小型的开发机器,我会修复apache进程的数量,而不需要太多dynamic的移动,并且经常回收apache进程。 同时保持keepalive非常短,所以这些都不捆绑很长时间。

 Timeout 20 KeepAlive On MaxKeepAliveRequests 500 KeepAliveTimeout 1 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 3 MaxSpareServers 5 MaxClients 5 MaxRequestsPerChild 10 </IfModule> 

如果你有一个或两个以上的人同时使用它,那么就应该把静态内容传递给一些单线程的内存使用。 你可以从像nginx这样的轻量级httpd提供静态内容,但是将squid设置为前端代理caching(可能有50到100 MBcaching)会更容易。

确保使用APCcaching来caching已编译的PHP。 使用APC时,您需要增加分配给caching的空间,因为编译后的PHP将在共享的映射内存中,而不是在每个Apache进程中分别编译,实际上会减less内存使用量请求。