タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

preforkに関するkohkimakimotoのブックマーク (2)

  • アパッチのソケットサーバ実装 - 中年engineerの独り言 - crumbjp

    少しずつアパッチの中の話をしていきます。 今回はネットワークサーバの基となるソケット実装の話です。 アパッチのソケットサーバ実装は結構有名な方法だと思っていたのですが 人との会話中に、意外と知られていないのかもしれないと感じる事もあったので 書いてみようと思った次第です。 入門書などで出てくる一般的なソケットサーバの実装方法 // ソケット作成 listen_sock = socket(...); // アドレス:ポートを紐付け bind(listen_sock,...); // クライアント受付開始 listen(listen_sock,...); // クライアント受付ループ for (;;){ // クライアントの接続まで待機 client_sock = accept(listen_sock,...); // 子プロセス作成 if ( fork() == 0 ) { // 子プロセ

    アパッチのソケットサーバ実装 - 中年engineerの独り言 - crumbjp
  • 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のはてなダイアリー
  • 1