タグ

freebsdに関するclavierのブックマーク (13)

  • 超高速なパケットI/Oフレームワーク netmap について - ゆううきブログ

    GPUを用いたSSLリバースプロキシの実装について - ゆううきブログ 100Gbpsソフトウェアルータの実現可能性に関する論文 - ゆううきブログ の続きで,最近論文読んだやつのプロジェクトの紹介です. 概要 今の汎用OSは高速なパケットI/Oを考慮してない. 20年前のAPIをそのまま使っている. ネットワークがどんどん高速になっているので,NICとかOSカーネルのパケット処理がボトルネックになってる. (http://news.mynavi.jp/news/2013/04/04/094/index.html) こういうの解決するために既存手法がいろいろある. Linux packet mmap - IwzWiki Linux Kernel Documentation :: networking : packet_mmap.txt DNA (Direct NIC Access) Pac

    超高速なパケットI/Oフレームワーク netmap について - ゆううきブログ
  • Linux カーネルと FreeBSD カーネルのソケット構造

    縁あつて、 Linux カーネルと FreeBSD カーネルの双方を見る機会があり、 両者で、ソケットを表現する構造が大きく異なっていることに気付きました。 ここでは、それぞれのソケットの構造について、調べたことを書いてみたいと思います。 FreeBSD では、ソケットの実体となるのは <sys/socketvar.h> で定義される socket 構造体 です。以下のようなものから構成されています: ソケットの型 (SOCK_STREAM, SOCK_DGRAM など) ソケットの状態 (接続済みかどうかなど) 受信ソケットバッファを表す構造体 (struct sockbuf 型) 送信ソケットバッファを表す構造体 (同上) accept で使用される、接続のキュー Protocol Control Block ここで、 Procotol Control Block とは、プロトコルごと

  • 第39回 init(8)とrc(8)に替わる起動および制御機能の模索 | gihyo.jp

    init(8)とrc(8)に替わる仕組みの模索 *BSDはシステムの起動をinit(8)からのシェルスクリプト、サービスの起動や制御をシェルスクリプトをベースとしたrc(8)で行っています。商用UNIXやMac OS X、最近のLinuxディストリビューションではこの仕組みではなく、より汎用的なフレームワークを使った起動および制御を採用しています。 init(8)+rc(8)からこうした汎用フレームワークへ移行している理由はいくつかありますが、まとめるとだいたい次のような目的があるように見えます。 サービスの並列起動などによるシステム起動の高速化 サービスを制御するための汎用的なインターフェースの提供 サービスのモニタリングと自動スタートの実現 サービスのモニタリングと自動アイドルの実現 サービスのモニタリングと自動リスタート機能による高可用性の実現 root権限でのサービス起動の削減とセ

    第39回 init(8)とrc(8)に替わる起動および制御機能の模索 | gihyo.jp
  • 第20回 ZFSデバイスファイルで仮想ディスクの性能アップ! | gihyo.jp

    仮想ディスクにZFSデバイスファイルを使って性能アップ これまで2回に渡ってFreeBSD 10で導入されたハイパーバイザbhyveの使い方を紹介してきました。今回は仮想ディスクにZFSデバイスファイルを使うことで仮想ディスクI/Oの性能を引き上げる方法を紹介します。 第18回 使ってみようハイパーバイザbhyve 第19回 bhyveでCentOSを使ってみよう! 説明が重複するので、コマンドのオプションやネットワークインターフェースに関する説明は上記記事をご覧ください。今回はこれまでの内容を踏まえて作業内容と性能差について取り上げます。 ホスト側のセットアップ ホスト側でbhyveを使うための設定を行います。システムを再起動しても有効にしておくために設定ファイルにも必要な設定を書き込んでおきます。 図1 ホスト側の準備 # kldload vmm # ifconfig tap0 cre

    第20回 ZFSデバイスファイルで仮想ディスクの性能アップ! | gihyo.jp
  • The Design and Implementation of the FreeBSD Operating System, Review and Q&A with Authors

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    The Design and Implementation of the FreeBSD Operating System, Review and Q&A with Authors
  • コンテナ型仮想化とはなんだったのか

    2014年11月14日に開催された、第5回コンテナ型仮想化の情報交換会@大阪において使った資料です。 Immutable Infrastructureの説明とDockerの説明をしています。

    コンテナ型仮想化とはなんだったのか
  • jotコマンドについて調べてみた - くんすとの備忘録

    日のシェル芸勉強会(http://usptomo.doorkeeper.jp/events/8339)の中でプチ話題になったjotコマンド。 イマイチ使い方をちゃんと把握していなかったので調べてみました。 ※確認・検証はFreeBSD 8.3にておこなっておりまする。 当時の認識 jot 回数 開始 終端 #シェル芸 #usptomo— くんすと (@kunst1080) 2014, 2月 15 調べてみた結果、かなり便利なコマンドのようです。seq + yesみたいな感じかな。 man jot JOT(1) FreeBSD General Commands Manual JOT(1) NAME jot ? print sequential or random data SYNOPSIS jot [-cnr] [-b word] [-w word] [-s string] [-p pre

    jotコマンドについて調べてみた - くんすとの備忘録
  • Linux カーネルと FreeBSD カーネルの割り込み処理

    わけあって、 Linux カーネルと FreeBSD カーネルの双方で仕事をした結果、 二つのカーネルで割り込み処理の実装方法が大きく異なっていることに気づきました。 ここでは、それぞれの割り込み処理の仕組みについて、 調べたことを書いてみたいと思います。 割り込みとは、主に入出力ハードウェアによって CPU に送られる処理要求のことです。 一般に、 CPU は入出力ハードウェアよりもずっと高速に動作するので、 入出力処理を行う際に、ハードウェアの動作を待つよりも、 CPU では別の処理を行なっておき、 必要になった時にハードウェア側からの通知を受けて対応する処理を行う方が、 CPU を有効に活用できます。この入出力ハードウェア側からの通知が、割り込みと呼ばれます。 割り込みは、 CPU で動作するカーネルによって処理されることとなります。 ここで、一つの割り込み処理に時間がかかると、他の

  • Free bsd jail入門

    Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation

    Free bsd jail入門
  • Trickleを使って帯域制限をする - aptheia.info

    ネットワーク経由で大量のデータをやりとりしたいが、メインのサービスには影響を与えたくないという場合がよくある。rsyncscp など、大きなファイルの転送を考慮されたコマンドではネットワーク帯域を制限するオプションが用意されていることも多いが、自作のツールなどに帯域制限を実装するとなるとかなり面倒くさいことになる。 Linux で帯域制限をしたい場合、tc や cgroup を使う方法がよく知られている。ただ、「あるコマンドにネットワークが占領されないように穏やかに実行したい」というニーズに対しては大げさで、またオプションが難解だったり管理権限が必要だったりといったことから二の足を踏む感じのものだった。もっと普段使いに適したツールがないものかと探していたところ、こういったシーンではTricleがかなり有効だと言うことがわかった。 インストール Debian, Ubuntu なら公式からパ

  • gihyo.jp FreeBSD勉強会第15回「インストーラを使わないでFreeBSDをインストールする方法」、2月22日に開催 | gihyo.jp

    gihyo.jp FreeBSD勉強会第15回「インストーラを使わないでFreeBSDをインストールする方法」、2月22日に開催 gihyo.jp FreeBSD勉強会第15回のご案内です。 FreeBSDのインストールでは通常、インストーラが使われます。インストーラはディスクのパーティショニング、プロダクトの展開、基的な初期設定などを代替で行ってくれるものです。実際にはコマンドを実行してパーティショニングやプロダクトの展開を実施しているだけなので、インストーラを使わなくてもFreeBSDをインストールすることができます。 勉強会では、実際にFreeBSDを手動でインストールする方法を実演しながら、FreeBSDの仕組みやインストーラが実施している内容を深く理解することを目的とします。また、インストール後の基的な設定についても、どのコマンドを使って何を設定するのかを説明します。Fre

    gihyo.jp FreeBSD勉強会第15回「インストーラを使わないでFreeBSDをインストールする方法」、2月22日に開催 | gihyo.jp
  • TCP mss size problem

    FreeBSD の不適切な MSS に関する問題 背景 path MTU discovery と blackhole router 始めに path MTU discovery について簡単に説明しておきます。 path MTU discovery は 2 点間を結ぶ経路の最小の MTU を求めることです。 このサイズ以下のパケットであれば フラグメンテーションが発生することなく、 効率の良い通信ができるということになります。 path MTU discovery は以下のような手順で行なわれます。 フラグメント禁止のフラグをつけて TCP パケットを送る。 途中経路のルータが ICMP エラーを返してくる。このメッセージには 通過できなかった経路の MTU 情報が含まれている。 送信するパケットのサイズを教えてもらった MTU のサイズにあわせて 送り直す。 これを繰り返せば、経路の最小

  • Plagger & PlaggerLDR のインストール -- LoveVector

    (Article) Plagger かわいいよ Plagger。便利につかっています。主にインストールまわりのメモ(for とある誰か)。 僕は FreeBSD ユーザでして,otsune さんの記事 を参考に,なるべく ports ベースでインストールしました(開発用のクライアントではそんな面倒くさいことしてられないけど)。ただ,いくつか差分があって: p5-URI-Fetch は今や 0.06 になってるので ports からで OK CustomFeed::SVNLog が欲しかったので WITH_PERL=yes つきで devel/subversion を作り直し Subscribe::LivedoorReader のために cpan -i JSON::Syck Encode::Detect が cpan -i で作れなかったので tarball を手で落として make くらい

  • 1