2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2016.06.13
インフラAWS summit 2016 EC2 Networking に参加してきました
初めまして。インフラの構築などを行っているY・Kといいます。
今回はAWS summit DAY2 で行われた「The State of The Art – AWS / EC2 Networking」に参加してきました。
セッション内容はAWS固有の技術ではなく、ネットワークについての知識がベースとなっています。
ネットワーク用語について私が知識が浅く、この記事を書くにあたりいくつか調べましたのでおさらいの要領で各単語を説明をしていけたらと思っております。
クラスメソッド社様がまとめていますので紹介だけにさせて頂きます。
http://dev.classmethod.jp/cloud/aws/the-state-of-the-art-aws-ec2-networking/
通信先と通信を始めてから自分に返ってくるまでの時間
通信先に到着するまでの時間はレイテンシと呼ぶ
輻輳とは一か所に集中し混雑した様子を指す
通信が混雑した際の制御のことになる。これは端末側で行う
ネットワークにおいて1回の転送(1フレーム)で送信できるデータの最大値を示す伝送単位のこと。
MTUの値は利用される通信メディアやカプセル化の有無などによって変わる。
たとえばイーサネットでは最大1,500バイト(オクテット)がIP通信に利用できる。
TCP通信はスロースタートという方式で通信を行っており
通信先に徐々に送信するする量を増やしていく(1,2,4,816・・・のように増えていく)、というものになっている
しかし、通信先で輻輳が発生すると通信量を初期に戻し再度通信していく(輻輳回避)
パケットを損失したとみなす時間
通信に置いて受け取ったデータの一時保管する領域
TCPバッファを超えてしまうとそのデータは破棄されてしまう。
そのため通信元に自分のバッファの量を知らせる仕組みをウインドウサイズと呼ぶ
3種類のアルゴリズム
・Loss-base方式
輻輳などのパケットの損失が発生するまで輻輳ウインドウを増加させ続ける。
輻輳発生時に輻輳ウインドウを減少させる。
従来のスロースタートはこの方式である。
CUBICがこの方式にあたる
・Delay-based方式
RTTを測定し輻輳やバッファ溢れ等が発生する前に輻輳回避を行う
キューイングによる遅延増加を検出しそれを指標として輻輳回避を行う
WestWood+ がこの方式にあたる
・Hybrid方式
上記2種類を組み合わせた方式
輻輳ウインドウを増加させ、RTTが増加していくと輻輳ウインドウ増加量を減らしていくというものである
illinois がこの方式にあたる
聴講最中はまったくさっぱりな内容でしたがひとつひとつの単語を調べるとある程度ですがやってる内容が分かってきました。
セッション内でサーバをチューニングし、いくつかの事例でスループットを向上させる話がでましたが
すべての事例でアルゴリズムをillinoisに変更していましたがアルゴリズムについてと輻輳のことを知れば納得できる対処方法ではないでしょうか。
最後にセッションの内容について何故その変更を行っているのかを自分なりにまとめてみました。
・輻輳が発生しないようにする
・輻輳が発生したと認識させない(再送タイマーのチューニング
・バッファを大きくする
・MTUを大きくする
・高速な通信が行える環境であれば有効
・初期輻輳の変更
・1,2,4,8,16・・・と増えていく輻輳ウインドウの初期値を変更することで初期から通信できる量を変更できる
以上となります。間違っている箇所等あればマサカリを投げて頂ければと思います。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索