読者です 読者をやめる 読者になる 読者になる

2015年Webサーバアーキテクチャ序論

主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているの…

Linuxでロードバランサやキャッシュサーバをマルチコアスケールさせるためのカーネルチューニング

HAProxy や Nginx などのソフトウェアロードバランサやリバースプロキシ、memcached などの KVS のような高パケットレートになりやすいネットワークアプリケーションにおいて、単一の CPU コアに負荷が偏り、マルチコアスケールしないことがあります。 今回…

HTTP/2.0と今後のWebアプリケーションの開発・運用について (#cross2014)

追記 @jovi0608 さんに非常に丁寧にコメントをいただきました。 https://gist.github.com/shigeki/ba7941d114344ddd4b01 本文 CROSS 2014の次世代Webセッションに参加した。 いろいろ刺激を受けたので、特に、Webアプリケーションを開発・運用する上で、今後…

TCP 3-way handshakeのレイテンシ軽減のためのTCP_DEFER_ACCEPTソケットオプション

2013/10/22 追記した. Starletのコード読んでてlistening socketにTCP_DEFER_ACCEPTとかいうオプション渡してたので、これ何だって思って調べた. TCPに特に詳しいわけではないので理解に誤りがあるかもしれない. package Starlet::Server; ... # set defe…

SPDYで複数のTCPコネクションをひとつにまとめるとはどういうことか

SPDYが流行っていて,複数のTCPコネクションを1つにまとめて高速化を図るらしいということは知っていた. しかし,単にTCPのコネクション数を抑えるだけならHTTP 1.1のKeep Aliveやpipeliningを使えばよいし,既存技術のどこが問題でSPDYはどう解決している…

Linuxカーネルにおけるネットワークスタック周りのChangeLog勉強メモ (2.6.0 ~ 2.6.20)

最近,OSのネットワークスタックに興味があって,Linuxカーネルのネットワークスタック実装の変遷について調べてみた. 変更内容の粒度は割りと適当. TCPとかFireWallとかNIC周りは興味があるのでだいたい書いてる. Wireless系は興味ないので全部削ってる…

研究室ニートの読みたい論文リスト (TCP and GPU)

研究科や研究室という組織についてはあんまりよく思ってはいないけど,研究自体は嫌いではないので,最近徐々に論文読みたい感じになってきている. TCPまたはGPU関連で読みたい論文リストのメモ. TCP 2002 TCP Servers: Offloading TCP Processing in Inte…

TCP Performance Re-Visitedを読んだ

2003年の論文.Linux2.4のTCPスタック実装についてのパフォーマンス測定と解析. LinuxのTCP実装に関するちゃんとした測定はまだ誰もやってなくて,我々がちゃんとした測定をする,みたいな感じの一文が5箇所くらいあって,意識高い感じだった. Abstract 現…

TCP Offload through Connection Handoffを読んだ

最近,TCP Offload Engine周りの論文を読んでる. Abstract 本論文ではOSとNIC間のコネクションハンドオフ・インタフェースを提案する. このインタフェースを使用することにより,一部のTCPコネクションをホストCPUで処理しつつ,残りのTCPコネクションをNI…