3

かなり自由形式の一般的な質問があります(つまり、「プラットフォーム、アプリケーションタイプなどによって異なります)が、答えとして一般的なガイドラインを探しています。

継続的な運用(100%の稼働時間)とスケジュールされた毎日のシャットダウン/再起動のアプリケーションを設計することが望ましいのはいつですか?

明らかに、Webアプリは常に稼働している必要があるため、この質問では、会計システムなどの内部エンタープライズアプリケーション、または平日の営業時間中にのみアクティブに使用されるB2Bシステムについて説明していると想定します。

私がそれぞれについて聞いた議論は次のとおりです。

Pro 100%稼働時間:「アプリケーションを実行した後は、シャットダウンしても再起動しない可能性があるため、アプリケーションを稼働させたままにしておくことをお勧めします。」

Proは毎日再起動します:「3年間継続して稼働しているアプリケーションは、いつかダウンする可能性があり、誰もそれをオンラインに戻す方法を知りません。」

その他の考慮事項は、メモリの増加、パフォーマンス、メンテナンスの必要性などです。これはプログラミングの問題です。これは、選択が技術設計に影響を与える可能性があるためです。たとえば、アプリケーションが毎日シャットダウン/再起動されることがわかっている場合は、特定のバッチジョブをコーディングして状態を毎日クリアする必要はありません。

考え?

4

6 に答える 6

5

私の意見では、100%の稼働時間の賛成と反対の両方であなたが述べる議論は愚かな議論です。シャットダウン時にアプリケーションが再起動しないことを心配している場合は、稼働時間の問題よりも大きな問題があります。同様に、長期間の稼働後にオンラインに戻す方法が誰にもわからないと感じた場合は、トレーニングとドキュメントの問題があります。

現実には、メモリ消費とパフォーマンスに関しては、常に効率的なアプリケーションを設計する必要があります。一般に、これを行うことにより、長時間実行されるプロセスとして正常に存続できるアプリケーション、または頻繁に再起動するアプリケーションになります。とにかく、OSのアップデートなどにより、通常のコンピュータシステムは定期的に再起動されることに注意してください。

100%の稼働時間を保証する要件とサービスレベル契約がない限り、アプリケーションを効率的に設計する限り、これは通常、過度に心配する必要はありません。

于 2009-08-30T14:16:57.353 に答える
4

申し訳ありませんが、私は要点を理解していないか、この質問はまったく無意味です.

アプリケーションは、どのようなアプリケーションでも、必要でない限り稼働し続けるように設計する必要があります。アプリケーション/プラットフォームを毎日再起動する必要がある場合は、メモリ リークやバグがあるか、一般的に書き方が不十分です。

「あまり長時間上げないでください。そうしないと、もう一度上げる方法を誰も覚えていない危険があります」という点は、非常にばかげています。私は日常業務としてアプリケーション管理 (運用) を行っていますが、アプリケーションが 1 か月以上稼働しているのを見たことがありません。その後、OS のメンテナンス、データベースのパッチ適用、ソフトウェアのアップグレードなどに対応する必要があります。

つまり、要約すると、必要な限り稼働し続けることができるアプリケーションを作成します。

于 2009-09-12T11:50:23.573 に答える
3

継続的な運用(100%の稼働時間)とスケジュールされた毎日のシャットダウン/再起動のアプリケーションを設計することが望ましいのはいつですか?

これは、アプリケーションの設計とは正反対の質問だと思います。多くのWebサーバーとアプリケーションコンテナは、ホットリスタートをサポートできます。言い換えれば、これは「アプリケーション設計」の問題ではなく、テクノロジーの選択です。たとえば、アプリケーションのコピーをN個(N> 1)持つだけで、問題を完全に回避できます。次に、メンテナンスのために特定のインスタンスを体系的に停止し、必要に応じて再起動します。

さらに、ビジネスニーズと要件は、テクノロジーの選択ではなく、適切なダウンタイムを決定する必要があります。

Proは毎日再起動します:「3年間継続して稼働しているアプリケーションは、いつかダウンする可能性があり、誰もそれをオンラインに戻す方法を知りません。」

ホグウォッシュ。それは社会的/組織的な議論であり、技術的な議論ではありません。これは、可能なタスクの1つとしてサーバーを起動することを含む明らかなビルドプロセスを持つことで解決されます。これにより、「再起動」のタスクが1つのコマンドに削減されます。

于 2009-08-30T14:15:22.987 に答える
0

チームにあまり自信がない場合は、時々ダウンしてすべてをクリアする方がよい場合があります。1日1回はそれを行うことができますが、これから「決して」までの範囲があります...

しかし、これは一般的にビジネス上の制約によって決定されます。これらの制約がまだない場合...

さて、あなたもあなたの決定を延期しませんか?

于 2009-08-30T14:15:19.743 に答える
0

「アプリを再起動する必要がある場合、あなたのアプリは十分ではありません」というアイデア (これは完璧だと思いますし、気に入っています) とは別に、予防策として中間の何かを好むでしょう。

アプリケーションが大きすぎず、1 人で問題なく再起動できる場合は、1 か月に 1 回または 1 年に 3 ~ 4 回再起動しても問題ありません。このようにして、システム管理者がそれを行う方法をよく知っていることを確認し (人々は会社から出入りすることがあります)、彼の知識が新鮮に保たれるようにします。

問題が発生し、システム管理者が 2 年前からアプリケーションを再起動していない場合、システム管理者はいくつかのマニュアルを利用可能にし、コースを修了していますが、おそらくいくつかの手順を忘れているか、問題をすぐに解決できません。

考慮すべき他のトピックは、「アプリケーションは完全に実装されていますか、それともまだ開発中ですか?」です。それが自分用に作成されたアプリケーションである場合でも、その上でコードを作成し、新機能のために頻繁にアップグレードを行います。より頻繁に再起動すると興味深い場合があります。問題が発生した場合、新しいコードに隠される可能性が高くなります。これは、プログラマーが問題を修正し、システム管理者がアプリで何が起こっているかを最新の状態に保つのに役立ちます。

もちろん、完璧なアプリケーションを作成することは常に最優先事項ですが... わかりました、常に可能であるとは限らないことは誰もが知っています

于 2009-09-12T11:25:03.417 に答える
0

他の人が言ったように、アプリが再起動することを信頼できない場合は、はるかに大きな問題があります.

経験から、Web アプリに対する私の一般的で個人的な推奨事項は、1 日に 1 回 (朝の早い時間、つまりトラフィックが最も少ない時間帯)、サーバー クラスター全体をずらして循環させることです。アプリのメモリ効率がどれほど優れていても、特にウェブアプリでは、長時間のアップタイムで常にキャッシュの肥大化の問題が発生する可能性があり、再起動の必然性を受け入れる場合は、気まぐれではなく、スケジュールどおりに発生することを絶対に望んでいますw3wp.exe.

もちろん、これはすべて、使用しているサーバーの数、使用しているトラフィック マネージャー (存在する場合)、およびトラフィック プロファイルがどのように見えるかによって異なります。

于 2009-08-30T15:04:23.190 に答える