[解決済み] プレフォークウェブサーバーモデルとは何ですか?
質問
ウェブサーバが自分自身を pre-fork ウェブサーバと表現しているときの正確な意味を知りたいのです。私は次のようないくつかの例を持っています。 ユニコーン は ruby 用、そして グニコーン は python 用です。
具体的には、こんな質問です。
- このモデルはどのような問題を解決するのですか?
- pre-fork Web サーバーが最初に起動されたとき、何が起こりますか?
- どのようにリクエストを処理するのでしょうか?
あと、unicorn/gunicornにもっと具体的な質問です。
例えば、私が(g)unicornで実行したいウェブアプリケーションを持っているとします。初期化時に、ウェブアプリはいくつかの初期化処理を行います (たとえば、追加のデータベースエントリを埋めます)。(g)unicornを複数のワーカーで構成した場合、初期化処理は複数回実行されるのでしょうか?
どうすれば解決しますか?
Pre-forkingとは、基本的にマスターが各リクエストを処理するフォークを作成することを意味します。フォークは完全に独立した *nix プロセスです。
以下のコメントに従って更新しました。その
pre
でpre-fork
は、これらのプロセスがリクエストが来る前に fork されることを意味します。しかし、通常、負荷の上昇や下降に合わせて増減させることができます。
スレッドセーフでないライブラリがある場合、事前フォークを使用することができます。これはまた、問題を引き起こすリクエスト内の問題が、サーバー全体ではなく、それらが処理されるプロセスにのみ影響することを意味します。
初期化が複数回実行されることは、すべてあなたがデプロイしているものに依存します。通常、接続プールやそのような性質のものは、各プロセスに存在します。
スレッドモデルでは、マスターはリクエストをディスパッチするために軽量なスレッドを作成します。しかし、スレッドが大規模な問題を引き起こすと、マスター プロセスに影響を与える可能性があります。
Nginx、Apache 2.4 の Event MPM、または gevent (Gunicorn で使用可能) などのツールでは、これらは非同期であり、プロセスがブロックすることなく何百ものリクエストを処理することができます。
関連
-
[解決済み] Apache HTTP Server と Apache Tomcat の違い?[クローズド]
-
[解決済み] Apache 2.2 で mod_rewrite を有効にする方法
-
[解決済み] エラー」を解決する方法 Apacheが予期せずシャットダウンしました" を解決するには?
-
[解決済み] Apacheのmod_rewriteをデバッグする方法
-
[解決済み] LANネットワーク上の他のコンピュータからlocalhost (xampp)にアクセスする - 方法は?
-
[解決済み] PHPで500 Internal Server Errorを出さずにエラーを表示させる方法【重複あり
-
[解決済み] .htaccess ErrorDocument 404が表示されない
-
[解決済み] XAMPPのapacheサーバーのポートを変更する方法は?
-
[解決済み] Apacheの内部エラー500、しかしログには何もない?
-
[解決済み] ローカルネットワークのユーザーが私のWAMPサイトにアクセスできるようにするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラーメッセージ "Forbidden You don't have permission to access / on this server" [closed].
-
[解決済み] Apache 2.2 で mod_rewrite を有効にする方法
-
[解決済み] ApacheとNode.jsを同じサーバーで使う
-
[解決済み] VirtualHostの追加に失敗する。Access Forbidden Error 403 (XAMPP) (Windows 7)
-
[解決済み] .htaccess ErrorDocument 404が表示されない
-
[解決済み] Apache httpd (MAMP)でhttpファイルのキャッシュを行わないようにする方法
-
[解決済み] apacheのバーチャルホストの設定をデバッグする方法は?
-
[解決済み] XAMPPのapacheサーバーのポートを変更する方法は?
-
[解決済み] Apacheのアクセスログを理解する
-
[解決済み] プレフォークウェブサーバーモデルとは何ですか?