質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.00%

  • Ruby on Rails

    6219questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • AWS(Amazon Web Services)

    1629questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSH

    464questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • MongoDB

    227questions

    MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

AWSのEC2からの反応が遅い時の対応

受付中

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 743

aws

score 24

EC2のサーバの反応が遅い時はどこらへんを確認するなどすれば良でしょうか?

状況

ここ数日サーバからの反応が悪くなります。(今回3回目なので対策を出来ればなーと。)
正確には完全に死んでいるわけではないのですが反応までに時間が掛かります。

例えばsshで接続するも接続出来るまでに約4-6分程必要になります。通常時は即アクセス出来ます。
その後logを確認しようとするもデータが返ってくる気配がありません。数メガのlogですので通常時は即確認出来ます。

上記状態でもAWSの管理画面上で見る限りCPUなどに負荷は掛かっていません。
インスタンスの状態も runningです。

過去2回はAWSの管理画面上で再起動を行っております。再起動が完了すると問題なくssh等やlog及びそのた諸々即アクセス出来ます。

環境

amazon liunxを利用
t2.micro の無料枠にて運用中
nginxを利用
ruby on rails(puma) とmongodbを利用しています。
cronで定期的に簡単な処理を実行。
サイト自体のアクセスは100-200程度です。


その状態であればここを確認するとよい又はこの設定を行っておくと良いなど御座いましたらご指摘頂けると幸いです。

宜しくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+1

数値を見ないと何とも言えませんが、メモリをほとんど使い尽くしてスラッシング(Swap In/Out 多発)が起きているのではないでしょうか?
例えば、vmstat 5 で 5秒間隔の値の変化を見て、以下を確認すると何かわかるかもしれません。

  • (メモリの空き、Swap 使用量) free が減って swpd が増えていないか
  • (Swap In/Out) siso の値が大きくなっていないか
  • (Block In/Out) bibo の値が大きくなっていないか
  • (Disk I/O 待ち) cpu の wa の値が大きくなっていないか

あと、EC2 のマネージメントコンソールのモニターで、ネットワークトラフィックが上限に張り付いていないでしょうか。


(2017/10/07 15:14) 追記

すみません。
回答で「スラッシング」を疑いましたが、t2.micro だとそもそも Swap パーティションがなく、スラッシングは起きようがないかもしれません。

Disk I/O 待ちや、ネットワーク帯域飽和の可能性は残ります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/07 17:36

    詳細有難う御座います。AWSのEC2のモニタリングを見る限りではネットワークの負荷もそれほど高くないんですよね。
    一応Swapも2G(2048)ほど作成しています。 サーバからの反応が悪い時にそのSwap領域がどの様になっているのか確認出来ていませんので次回確認したいと思います。

    キャンセル

+1

質問に記載頂いた挙動は、割当メモリを使い果たし空きメモリがない状況下で発生する可能性があるように思います。

標準のCloud Watchメトリクスではメモリの使用状況がわからないかと思いますので、下記ページやscsiさんの回答されている監視設定方法などを参考にメモリの使用状況を把握できるようにされると切り分けができるのかと思います。

AWS EC2でメモリ利用率をCloud Watchで監視する

メモリ使用量が原因なのであれば、メモリリークの可能性や、稼働させているサービスに対してインスタンスのスペックが不足している可能性があります。
OS再起動後、ある程度の期間は正常に動作するということであれば、定期的なOS再起動を行うことで事象発生する可能性を運用上回避できるかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/07 17:44

    有難う御座います。次回この様な状況になりましたらメモリなどの状況を確認させて頂きます。(今回も原因が分からない=>再起動させてしまえ。で逃げてしまいましたので。。。)

    そうですねー定期的な再起動で良いような気もするのですが出来ることならちゃんと解決したいといった気持もあります。

    キャンセル

0

t2.microのcpuクレジットを使い切っただけではないでしょうか

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/07 00:38

    CPUは常に1%前後(時々20-40%になりますが一瞬)でしてCPU クレジット残高 (カウント)ですが常に100-120辺を推移しているといった感じです。
    私が勘違いしているのかもしれませんがCPUに負荷が掛かるとCPUクレジットを消費して0に近づく感じですよね?

    キャンセル

  • 2017/10/07 04:25

    そうですねえ。
    処理が遅くなる原因は、cpu以外にもあります。

    マカレルやzabbix、sysstatなどでリソース使用状況を取得し平常時との違いを調査してみて下さい。

    再起動で治るのであれば、異常時にtopコマンドで原因がわかる可能性が高いと思います。

    キャンセル

  • 2017/10/07 17:29

    なるほどですねー今回も再起動させて無理やり?解決させたので次回Topなどで状況を確認してみます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    AWSのMySQLに接続できない...

    お世話になっております。 mysql -h RDSのエンドポイント -P ポート番号 -u ユーザ名 -p データベース名 でSSHから接続できないのですが、AWS画面での設定

  • 解決済

    sshのssh-copy-id(公開鍵登録コマンド)の使い方

    前提・実現したいこと sshでserver01(172.30.40.50)からserver02(172.30.40.60)に接続するため、server01の公開鍵(id_rsa.

  • 解決済

    SSHでAWSにログインしている際に再起動したい

    前提 AWSのインスタンスのIPと鍵だけもらって、SSHでのみ接続している状態です。 マネジメントコンソールへのアクセス権限はありません。 やりたいこと SSHクライア

  • 受付中

    AWS EC2のアクセス制限(固定IPアドレスを持っていない場合)

    前提・実現したいこと AWSで接続制限したい。 指定したクライアント以外はAWSに設置したサーバに接続してほしくない。 試したこと IPアドレスで制限したが、固定IPア

  • 受付中

    MySQLに接続できない

    MySQL WorkBenchからAWS上のRDSにログインしたいのですが、 下記のエラーが表示されます。 RDSのセキュリティグループに0.0.0.0/24を追加して

  • 受付中

    サイトにアクセスできない場合

    URLを打つと1時間ほどアクセスできない状態でございます。 頻繁にサイトにアクセスできない時間があります。 こちらサーバーサイドの問題か、ファイルの問題かなどを 特定した

  • 解決済

    【至急】AWSサーバーに接続出来ない

    誠に勝手なご質問ですが、AWSサーバーに突然接続出来なくなり、アドバイスをいただきたく投稿いたしました。 EC2にてsmallインスタンスを立ち上げて運用していたのですが、突然

  • 解決済

    aws ユーザー追加したが

    awsでユーザーをsudoで追加したのですが、 ssh ユーザー名@(ec2-userと同じipアドレス) でログインできませんでした。 どうなっているのでしょうか?? 他には

同じタグがついた質問を見る

  • Ruby on Rails

    6219questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • AWS(Amazon Web Services)

    1629questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSH

    464questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • MongoDB

    227questions

    MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。