web-dev-qa-db-ja.com

Apacheのグレースフルリスタートとユーザーエクスペリエンスの影響

運用サーバーでApacheのgraceful再起動を実行しても安全ですか?グレースフルリスタートはどのような影響を及ぼし、どのような影響がありますか(ある場合)?有害な影響はありますか(例:短時間であっても、ダウンタイム)?

私は以下のリソースを検討しましたが、ユーザーへの影響がどのようになるかはまだ不明です:

10
stellarchariot

グレースフルリスタートを実行する場合、既存の接続は正常に完了する必要があり、その時点でワーカーは終了します。新しいワーカーは、新しい接続を処理するためにすでに開始されているはずです。

接続の失敗や遅いページの読み込みに気付くべきではありませんが、実際には、構成がマスタースレッドによって再読み込みされている間、新しい接続が一時的にキューに表示されることがあります(鉱山は0.5秒未満です)

新しい設定を取得するために再起動している場合は、サーバーが正しく再起動できない可能性のある設定エラーが発生する可能性があります。

サーバーが異常な状態の場合、正常に再起動できない可能性があります(おそらく、正常な再起動を検討しているのはそのためです)。

9
Tricky

Apacheが静的ファイルを提供していて、 passenger のようなもののフロントとして機能していない場合、それはかなりスムーズです。ほとんどのユーザーは気付くことさえありませんし、そうするユーザーはそれを通常のグリッチと見なします。 Apacheは古いリクエストが処理されるまで新しいリクエストを処理しないため、すべてが完了するまで待機します。誰かが500KBのファイルを68KB/sでダウンロードしている場合、長時間待機している可能性があり、その間他のサービスは行われていません。

Apacheがアプリケーションサーバーの前面にある場合、状況は大きく異なる可能性があります。経験上、そのサーバーと対話するためのUXは、アプリサーバーが起動してロードされ、キャッシュがウォームアップされるまで、非常に良くありません。

1
sysadmin1138

前述の適切なパラメーターは、最初にすべての子プロセスに現在のタスクを完了するように通知することによって、再起動プロセスを開始するようにhttpdに指示します。すべての子プロセス(httpリクエストを処理しているプロセス)がタスクを完了すると、閉じます。現在リクエストを処理していない子プロセスがある場合、それらはすぐに閉じます。

一方、stopはすべての子プロセスを即座に終了しようとするため、エンドユーザーがハングする可能性があります。私の好みは優雅です。お客様にサービスを提供している子プロセスを突然終了するよりも友好的だからです。多くの管理者、特にプログラマーは、stopを使用してサーバーを停止します。これは、優雅さが存在することさえ知らないことが多いためです。

リンク: https://www.godaddy.com/garage/tech/config/how-to-restart-Apache-without-rebooting-your-centos-linux-server/Link

0
Somdip Dey