タグ

Linuxとasyncに関するyassのブックマーク (3)

  • カーネル/VM Advent Calendar 一日目: eventfd, timerfd, signalfd - Emacs ひきこもり生活

    ひ、日付? な、なんのことです…!? 最初はfutex()とかカーネルの変更でpostgresqlが遅くなったとかの話をからめようかと思ってたんですがfutex()調べてたらどんどん大きくなってしまったので今回はスキップして(そのうちあるであろう)2回目にまわしとくことに。 ということで、今回はfutex()から似たところ?で、 epoll, kqueue, *fdあたりを簡単にまとめてみようと思います。 select まずはselect()のおさらいを。 こんなふうにサーバにクライアントが5つぶらさがっています。クライアントは常時接続はしていますが、ずっとサーバと通信しているわけではありません。時々サーバにリクエストを投げ、サーバは適宜リクエストに応答します。サーバはsocketを作ってクライアントと通信をしています。 言うまでもないことですが、こんなコードではうまく動きません。 for

    カーネル/VM Advent Calendar 一日目: eventfd, timerfd, signalfd - Emacs ひきこもり生活
    yass
    yass 2013/05/20
    " epollでは / カーネル側が監視すべきファイルデスクリプタを知っているので、select()のようにファイルデスクリプタを全てスキャンしなおす必要はなく、パフォーマンスが改善されています "
  • Linuxhack.jp » キャッシュバッファの制御

    pdflushを制御してLinuxのキャッシュバッファのチューニングを考えてみたいと思います。 kernel2.6系から書き込みに関するキャッシュバッファ管理はpdflushによって実現されています。これはkernel2.4系の時代にはbdflush+kupdateの組み合わせで実現されていたものです。このpdflushを制御することにより、ディスクI/Oを向上させる可能性があります。 ※ 当然ですが、パフォーマンスが向上するか否かは環境によります。 ・Linuxの遅延書き込み機構(ざっくりと) 一応、前提となる遅延書き込みについて簡単に触れておくと、データの書き込みは1次記憶装置から2次記憶装置へ・・・みたいな感じで、徐々に記憶容量の多いほうに渡されていきます。一般的に記憶容量が多くなるに反比例して記憶装置へのアクセスは遅くなりますね。 要はメモリからHDDへのディスク媒体にデータが書

    yass
    yass 2012/12/22
    "書き込みを同期で行うと書き込み中にとまっちゃうから、非同期に後から書き込みしよう、ということで遅延書き込みになっているというわけ/ メモリに対してdirtyデータが指定の%になるとバックグラウンドでpdflushが動作"
  • ファイル入出力の基本 (IO モデル) を勉強する - フリーフォーム フリークアウト

    移転しました http://please-sleep.cou929.nu/20121103.html

    ファイル入出力の基本 (IO モデル) を勉強する - フリーフォーム フリークアウト
  • 1