タグ

socketとprocessに関するyassのブックマーク (2)

  • prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー

    Catalyst を POE で動かす Engine の Catalyst::Engine::HTTP::POE という実装が CPAN にあります。"Single-threaded multi-tasking Catalyst engine " だそうです。"Single-threaded" と言いつつも実装を覗いてみると環境変数 CATALYST_POE_MAX_PROC を 1 よりも大きく設定することで prefork する実装になってます。POEシングルスレッドではアプリケーション内で発生するブロックを避けることが難しいのでそのための実装じゃないかなと思います。 ところでこの Catalyst POE エンジン、prefork の実装はどのように行っているかというと POE から prefork と名の付いたイベントが発生するとおもむろに子プロセスを生成する、というのもの。複数の

    prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー
    yass
    yass 2015/06/15
    " Linux では 2.2 系の古いカーネルとそれ以降のカーネルで wake_up 関数群の実装が異なり、新しいものでは事象を待ち合わせているプロセス群から一つのプロセスだけを起床させることができる "
  • UNIXのプロセスやシグナルをしっかり理解するための技術ドキュメント「Process Book」 | ソフトアンテナ

    UNIXの基をなすプロセスやシグナルなどを分かりやすく解説した技術ドキュメント「Process Book」がGitHubにて公開されています。 同ドキュメントは、プロセスの生成、プロセスとファイル入出力、ファイルディスクリプタ、preforkサーバーの作り方、ゾンビプロセスと孤児プロセス、シグナルとkill、プロセスグループとフォアグランドプロセスといった話題を解説するドキュメントで、GitHubのreleasesディレクトリにはPDF、epub形式のファイルも格納されています。 UNIX環境でプログラムを開発する際に役立つだけではなく、普通のユーザーとしてターミナルを使ってコマンド操作を行う際にも役に立ちそうな内容だと思います。

    UNIXのプロセスやシグナルをしっかり理解するための技術ドキュメント「Process Book」 | ソフトアンテナ
  • 1