0

nginxがフロントロードバランサーとして機能し、Apacheとmod_phpがバックエンドのアプリケーションサーバーとして機能するサーバーがあります。

ピーク時にapacheを再起動した直後にそのまま再起動すると、キャッシュがまだプライミングされていないため、現在の負荷で停止します。

どういうわけかスロースタートをする方法があるのではないかと思っていました。つまり、サービスの稼働時間などに応じて接続数を制限します。たとえば、「1秒前までに10を超えない接続を許可する」などです。

iptablesを使用したより低レベルのアプローチも私には有効ですが、どこを探すべきかわからないだけです。

4

2 に答える 2

2

個人的には、ユーザーがキャッシュをウォーミングすることに依存することはありません。

1 / Nginxを「メンテナンスモード」にして、一時的にHTMLファイルにプロキシする(高速)

2 / 8080(またはその他)ポートでwgetを使用してキャッシュをウォームアップします(または、可能であればcli PHPスクリプトを使用することをお勧めしますが、常にそうとは限りません)。

3/ウォームアップしたらメンテナンスモードを終了します。

PSメンテナンスモードについて言及するとき、nginxがこれを有効にする必要があるスイッチを認識していませんが、bashスクリプトを使用して、構成を変更してオン/オフを切り替えることができます。

于 2012-07-25T18:33:55.773 に答える
0

リロードを実行しますが、Apacheを再起動しないでください。幸運なことに、nginxを使用してピークをスムーズにしたり、Apacheがダウンしたときにエラーページを返したりできますが、HTTPサービスを好きなように試すことはできません。環境プロダクションでは、少なくとも私の仕事では、それは私を解雇するでしょう。

私は、nginxには、ノードがオンライン(アクティブ)で検出されてから(利用可能)と見なされるまで60秒待機するための構成またはスクリプトを実装する方法が必要であると信じています。

于 2012-07-25T18:34:06.953 に答える