運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。
![基本から学ぶ TCPと輻輳制御 ……押さえておきたい輻輳制御アルゴリズム 記事一覧 | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/7241c583676d54fc052c4388a6edd25e4c7f280b/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2Fgihyojp-ogp.png)
kamakura.go #5
サーバ間で分散処理を行う際の相互通信におけるボトルネックを解消するため,smux(Socket multiplexer)を開発している. サーバ間の相互通信におけるボトルネックとその解決策 一対のサーバ間で多数のリクエストとレスポンスが送受信され,信頼性の高い通信としてTCPを利用する場合,コネクション確立のオーバーヘッドを排除するために接続の再利用が行われる.しかしながら,クライアントは送信に対する受信を待つ必要があるため,レスポンスまでに幾許かの処理時間を要する状況では送信のキューがたまってしまう.そこで複数の接続を利用することでこれを解消する方法が取られるが,追加の接続はリソース使用に関するオーバーヘッドを発生させてしまう.なにより各接続におけるレスポンス待ち時間は依然として解決しておらず,接続の利用面から見て非効率である.そこで,単一の接続において,仮想的に並行送受信を行う方法が提
TCP Fast Open TCP Fast Openと呼ばれる技術があり、RFC 7413として標準化されている。 このTCP Fast Openを使うと、一度コネクションを貼った相手とは、TCPの3ウェイハンドシェイク中にデータを送受信できるようになる。クライアントからSYNとともにデータを送信することで、実際にデータを送受信開始するまでの待ち時間が短縮できる。 Linuxではすでにクライアント/サーバ両方でTCP Fast Openを使用できる。 TCP Fast Openの闇 しかし、数年前よりこのTCP Fast Openには一部のネットワークで奇妙な振る舞いをすることが知られている。Appleの人が実際にデプロイした時に見つけたもので、IETFやNANOGにて報告されており、その時の資料は下記のとおりである Deploying TCP Fast Open in the wild
March 02, 2013 「Heroku でアプリケーションサーバを Uniron (or Puma, etc) にしたらn倍速くなったぜ!」みたいな話をたまに見掛けますが、本当なんでしょうか。実験してみましょう。 テスト環境 Funtoo Linux x86-64bit Ruby 2.0.0-p0 Thin 1.5.0 Unicorn 4.6.2 Rainbows! 4.5.0 Puma 1.6.3 アプリケーションは Rack で、50msec の sleep の後に 500KB のレスポンスを返します。各サーバに対して100回のリクエストを、同時接続数を 1-20 の間で変えつつ投げました。詳しくはソースを見てください。 (凡例の c は concurrency、同時接続数です) はい、どう見ても Thin は遅いです。まったくスケールしません。本当にありがとうございました。 こ
tl;dr haproxy -sf による再起動では SO_REUSEPORT が使えないと瞬断が発生する。SO_REUSEPORT は Linux 3.9+ か、CentOS, RHEL 6 では最新のカーネルに上げると利用できる。 haproxy は自分自身の設定を reload するみたいな便利な機能はない。 そのかわりに、 -sf オプションへ既存の pid を渡して新しく起動してあげると、入れ替わってくれる機能がある。 http://linux.die.net/man/1/haproxy Send FINISH signal to the pids in pidlist after startup. The processes which receive this signal will wait for all sessions to finish before exiting
注釈 MQTT As a Service: sangoをリリースしました 2014年8月に、GitHubアカウントで簡単に登録できてMQTTを使い始められる sango を 時雨堂 がリリースしました。 無料プランもありますので、MQTTを一度使ってみたいという方はsangoを使うことをお勧めします。 最近voluntasさんが 活動 してお り、にわかにMQTT関連が熱くなってきました。たぶん観測範囲が狭いからだと は思いますが。 とはいえ、M2M (Machine to Machine)やIoT(Internet of Things)というバズワー ドもあり、モノがインターネットにつながる時代になってきて、MQTTの価値が 高くなってきている気もします。また、モバイル時代に適したプロトコルとい う意味でも注目されているのかもしれません。 ということ、MQTTについて一旦ここでまとめてみ
SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013 Webをより速くしようと、HTTPよりも優れたプロトコルとして提案されたSPDY(スピーディ)。しかしそのSPDYによって、下位レイヤであるTCPの制限が顕著に見えるようになってしまい、そのことでTCP以外のプロトコルとしてQUICをGoogleが提案しています。 Webの進化は、インターネットのプロトコルにまで影響を与えようとしている、という非常に興味深い話が、HTML5のコミュニティ「html5j」主催のイベント「HTML Conference 2013」で行われた小松健作氏のセッション「最新Webプロトコル、傾向と対策」で行われました。 その内容をダイジェストで紹介しましょう。 最新Webプロトコル、傾向と対策 小松です。所属はNTTコミュニケーションズでHTML5の研究
相手のアプリケーションがcloseして、こちらのアプリケーションがcloseせずにいる場合(ハーフクローズの状態、上の図参照)、一定時間後に相手側のFIN_WAIT2と、こちらのCLOSE_WAITが消えた。この現象は、2つのタイマーが関係しているらしい。 http://www.linux.or.jp/JM/html/LDP_man-pages/man7/tcp.7.html FIN_WAIT2は、 tcp_fin_timeout でタイムアウトする。デフォルトは60秒。 CLOSE_WAITは tcp_keepalive_time 秒後に(デフォルトは2時間)、接続が有効かどうかを確認する(keep-aliveプローブを送信)。 相手側がFIN_WAIT2で待っている場合は、ACKが返ってきて接続が維持される。 相手側が tcp_fin_timeout によってクローズ済みの場合、リセッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く