タグ

networkとlinuxに関するh2ondaのブックマーク (6)

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

    記事の公開後の2016年7月にはてなにおけるチューニング事例を紹介した。 はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena - Speaker Deck HAProxy や nginx などのソフトウェアロードバランサやリバースプロキシ、memcached などの KVS のような高パケットレートになりやすいネットワークアプリケーションにおいて、単一の CPU コアに負荷が偏り、マルチコアスケールしないことがあります。 今回は、このようなネットワークアプリケーションにおいて CPU 負荷がマルチコアスケールしない理由と、マルチコアスケールさせるための Linux カーネルのネットワークスタックのチューニング手法として RFS (Receive Flow Steering) を

    Linuxでロードバランサやキャッシュサーバをマルチコアスケールさせるためのカーネルチューニング - ゆううきブログ
  • SPDYとLinuxの間でGoogleマップがハマった落とし穴 - ぼちぼち日記

    tl;dr 書いていたら思わず長文の大作になってしまいましたので、プロトコルオタ以外の方は文章の多さに退屈されるかと思います。GoogleマップサービスでSPDYの問題が発覚し、GoogleLinuxカーネルに修正を加えて対応したというお話です。将来 Linux + nginx + SPDY を使いリバースプロキシでサービス運用を検討されている方は参考になるかもしれません。 1. はじめに、 プロトコルに執着する年寄りエンジニア老害が叫ばれて久しい。 年甲斐もなく自分好みのパケットを追っかけるおやじエンジニアの姿を見て眉をひそめる若者も多いと聞く。 そんな批判に目もくれず、今日も一つ、プロトコルオタのネタをブログで公開したいと思いますw 今回はちょうど1年ほど前に書いたブログ記事 「GmailがハマったSPDYの落とし穴」の続編です。といっても今度の舞台は、Googleマップ。ネタ元も

    SPDYとLinuxの間でGoogleマップがハマった落とし穴 - ぼちぼち日記
  • マルチコアとネットワークスタックの高速化技法

    10GbE、40GbEなどの極めて高速な通信をサポートするNICが、PCサーバの領域でも使われるようになってきている。 このような速度の通信をソフトウェア(OS)で処理し高い性能を得るには様々な障害があり、ハードウェア・ソフトウェア両面の実装を見直す必要がある。 セッションでは、ハードウェア・ソフトウェア両面にどのような改良が行われてきており、性能を引き出すにはどのようにこれらを使用したらよいのかについて紹介する。

    マルチコアとネットワークスタックの高速化技法
  • Open vSwitchがLinux 3.3でメインラインにマージ、標準サポートへ

    3月18日にLinuxの最新版「Linux 3.3」が公開されました。今回のバージョンではAndroidプロジェクトのコードのマージが大きな特徴の1つですが、ネットワーク関係でも大きな前進がありました。1つはOpen vSwitchがメインラインにマージされ、Linux 3.3から標準サポートとなったこと、そしてネットワークインターフェイスを束ねて帯域幅の拡大を実現する「Teaming」機能が改善されたことです。 LinuxにはすでにLinux bridgeがありますが、Open vSwitchはさらに高度な機能を備えたソフトウェアスイッチとして標準サポートされるとのこと。仮想環境のソフトウェアスイッチとして普及しつつあるOpen vSwitchは、さらにその地位を固めようとしています。 なぜOpen vSwitchLinuxのメインラインに? ところで、なぜOpen vSwitchがL

    Open vSwitchがLinux 3.3でメインラインにマージ、標準サポートへ
    h2onda
    h2onda 2012/03/21
    bondingとは別にteamingモジュールがあるらしい...
  • じゃあ、Linuxのネットワークスタックはどうなのん? - syuu1228's blog

    この記事の続きになる訳だが、いくらSolaris最強って言っても、大手メーカーがこぞってつつき回して性能改善したり機能追加したりしてるはずのLinuxで何も対策が打たれてない訳が無いよね。じゃあどうなってるんだろう、って話。 例によって、Linuxとか全ッ然知らないので、間違ってたらツッコミ下さい。 ポーリングとパケット処理のパス 殆どここで解説し尽くされてる。 Linuxにも動的ポーリングの実装(Solarisで言ってる動的ポーリングと同じものとは限らないが…)があって、NAPIとか呼ばれてるらしい。 NAPIを実装するドライバでは、こんな手順で受信処理を行ってる。 ハードウェア割り込みを受け、割り込みハンドラを起動 ハードウェア割り込みを禁止、ポーリングをスケジュール ソフトウェア割り込み経由でNAPIのポーリングルーチンを起動 ドライバにポーリングを指示 この時、適切な性能を確保する

    じゃあ、Linuxのネットワークスタックはどうなのん? - syuu1228's blog
  • 第12回 ソケット・インタフェース

    前回,Linuxがハードウエアを制御するデバイス・ドライバについて解説しました。そこでは,Linuxがハードウエアを抽象化する3つのデバイス・モデルのうち,ブロック・デバイスとキャラクタ・デバイスについて紹介しました。 しかし,もう一つのネットワーク・デバイスには触れませんでした。それは,ネットワーク・デバイスは,カーネルのネットワーク機能に密接にかかわっており,他の2つのデバイス・タイプとは異なる部分が多いためです。 Linuxカーネルは,インターネットなどで使われる通信プロトコルであるIP(Internet Protocol)をはじめ,AppleTalkやIPXといったさまざまなプロトコルに対応したネットワーク機能を持っています。物理的な接続規格についても,一般的に使われているイーサネットのほか,さまざまな規格に対応しています。 今回から,Linuxのネットワーク機能と,ネットワーク・

    第12回 ソケット・インタフェース
  • 1