

サイトの応答が非常に悪くなるタイミングがあり、困っています。  
頻度は1分に数回と多いです。

まだ公開して3日目なので、アクセスはほとんどありません。

`top`コマンドで確認してみると、そのタイミングだけCPUの`%`がプロセスすべて`0.0`になっているのです。  
`load avarage`などに変化はなく、何を確認したら良いのかわかりません。

性能不足でしょうか。。。

今回始めて`aws`を触っていることもあり、戸惑っています。  
確認すべきことがあれば教えていただけないでしょうか。

どうかよろしくお願いします。

* * *

環境

  * ec2 t2.micro
  * rails + unicorn + nginx + mysql(RDS)

* * *
[code]

    # top
    top - 00:17:50 up 28 days,  3:43,  1 user,  load average: 0.00, 0.01, 0.05
    Tasks:  78 total,   1 running,  77 sleeping,   0 stopped,   0 zombie
    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:   1020188k total,   957248k used,    62940k free,    28436k buffers
    Swap:        0k total,        0k used,        0k free,   151028k cached
    
    # free
                 total       used       free     shared    buffers     cached
    Mem:       1020188     957000      63188         80      28468     151080
    -/+ buffers/cache:     777452     242736
    Swap:            0          0          0
    
    # df 
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/xvda1       8123812 2541908   5481656  32% /
    devtmpfs          500896      56    500840   1% /dev
    tmpfs             510092       0    510092   0% /dev/shm
    
[/code]


CC BY-SA 3.0
2015-05-11T15:22:47.623
10057
2015-08-18T16:28:44.667
2015-05-11T15:37:30.763
5855
5855
question
ruby-on-rails ruby mysql aws
CPU稼働率が定期的に0%になってしまう


そのサイトが重いときのアクセスログが気になります。  
アクセスログにレスポンスタイムは出力しているでしょうか？  
Nginx だと log_format の `$request_time` で取得できます。参考:
<http://nginx.org/en/docs/http/ngx_http_log_module.html>

また、unicorn/rails で処理しているということなので、`$upstream_response_time`
も気になります。もし出力していなければ、出力してみてください。

レスポンスタイムが短ければサーバの問題ではないということになります。  
レスポンスに時間が掛かっている場合、`$upstream_response_time` の占める割合がどのくらいかによって、原因の所在が変わってきそうです。


CC BY-SA 3.0
2015-05-20T15:21:18.123
10430
2015-05-20T15:21:18.123
9342
10057
answer