タグ

ブックマーク / christina04.hatenablog.com (4)

  • inodeから見たmvやcpの動き - Carpe Diem

    背景 実行中のファイルに対してcpで上書きする場合だとText file busyで置き換えられず、mvだと何も聞かれず置き換えられる理由を深掘ってみました。 データ構造 mvやcpの動きを確認する前に必要な前提知識を説明します。 プロセスとinodeとの関係 プロセスとinodeは以下のように プロセステーブルエントリ └ファイルテーブルエントリ └v-node(i-node) という形で繋がっています。 ref: Lec 21: File System, Kernel Data Structures, and Open Files inodeのデータ構造 inodeは以下のような情報を持ちます。 inode番号 ファイル種類(レギュラファイル、ディレクトリファイル、ソケット、etc...) OwnerID GroupID アクセス許可ビット ファイルサイズ データブロックへのポインタ

    inodeから見たmvやcpの動き - Carpe Diem
  • ネットワークの疎通を確認する方法 - Carpe Diem

    概要 インスタンスのヘルスチェックに失敗したり、リクエストが届かなかったりするケースの調査のためにネットワークの疎通を確認する機会は多々あります。 今回はその中でよく使うコマンドをまとめてみました。 環境 Ubutnu 16.04 コマンド ping pingはICMPのエコー要求/応答機能を使った診断コマンドです。 疎通確認 $ ping google.com PING google.com (216.58.200.206): 56 data bytes 64 bytes from 216.58.200.206: icmp_seq=0 ttl=54 time=2.329 ms 64 bytes from 216.58.200.206: icmp_seq=1 ttl=54 time=2.744 ms ちなみにICMPはL3のプロトコルなのでポートは関係ありません。 確認できないケース pi

    ネットワークの疎通を確認する方法 - Carpe Diem
  • 負荷が低いのにアクセスを捌けきれない時の対応 - Carpe Diem

    概要 MongoDBCPU使用率やロードアベレージが高くないのに処理が詰まっている現象が起きました。 その時間にbatchが動いていてアクセスが急に増えることが原因と言うのは分かっているのですが、負荷的には十分余裕があり不思議な状態でした。 そこでdstatで見るポイント - Carpe Diemでも述べたように、負荷の状態から判断する基準があります。 ロードアベレージを確認する 1が高ければCPU、ディスクI/O、メモリにボトルネックがある 1が低ければTCPコネクションにボトルネックがある 今回の現象から判断するに、TCPコネクションに原因がありそうです。 原因調査 Too many open filesは出ているか ファイルディスクリプタが足りない場合はコネクション数が足りずに処理が詰まってしまいます。 そしてその場合Too many open filesというエラーが出ます。 し

    負荷が低いのにアクセスを捌けきれない時の対応 - Carpe Diem
  • Dockerのネットワークを理解するために覚えたことまとめ - Carpe Diem

    概要 Dockerのネットワーク周りを勉強していると、 docker0 仮想ブリッジ VXLAN link機能 など色んな要素が出てくるのですが、ちゃんと理解していないとすぐ忘れるため一度しっかり学んでみました。 今回はその時に疑問に思ったことをまとめてみました。 環境 docker 1.11.2 構成 マシン IP 役割 ホスト 192.168.33.10 Dockerホスト docker0 172.17.0.1 仮想ブリッジ nginx1 172.17.0.2 コンテナ1 nginx2 172.17.0.3 コンテナ2 事前知識 以下の知識があると学ぶ上で非常に助かります。 ブリッジ 第2層でMACアドレスで判別して転送 3 Minutes Networking No.17 ルータ 第3層でIPで判別して転送 3 Minutes Networking No.28 NAT、NAPT、IP

    Dockerのネットワークを理解するために覚えたことまとめ - Carpe Diem
  • 1