2

たとえば、親/子構造がまだ正しいかどうかを確認するために、アプリケーション スイートをチェックする Java エージェントを作成しました。したがって、いくつかのアプリケーションで 8000 以上のドキュメントをチェックする必要があります。

チェック自体は非常に高速です。ナビゲーターを使用してビューからデータを取得し、それらのエントリからのみデータを読み取ります。問題はログ メカニズムにあります。レベル SEVERE (別名: 本当に大きな問題) のログ エントリを報告するたびに、バックエンド ドキュメントが直接更新されます。これは、これらの問題に関する情報を失いたくないためです。

テストの実行では、すべてがスムーズに実行されることがわかりますが、多くの重大な問題を「作成」するとすぐに、すべての書き込みのためにパフォーマンスが大幅に低下します. 同じ課題に直面しているメモ開発者がいるかどうかを確認したいと思います.データを失うことなく書き込みを高速化するにはどうすればよいでしょうか?

-- サイモンからのコメントの後に詳細情報を追加 --

不整合をチェックするために毎晩実行されるスケジュールされたエージェントです。もちろん、目標は不一致を見つけて原因を修正し、最終的に不一致がまったく報告されないようにすることです。

4

3 に答える 3

2

不整合をチェックするために毎晩実行されるスケジュールされたエージェントです。

わかった。そのため、考慮すべき要素がいくつかあります。

  1. 埋め込まれた Jar はありますか? エージェントに jar が埋め込まれている場合、サーバーはコードを実行する前に、それらをエージェントからディスクにデタッチする必要があります。これは、エージェントが実行されるたびに行われます。これは、パフォーマンス ヒットになる可能性があります。エージェントが何度も生成される場合は、埋め込まれた jar を削除し、代わりにサーバーの lib\ext フォルダーに配置します (サーバーの再起動が必要です)。

  2. あなたはそれが夜に走ると言いました。デフォルトでは、一般的なハウスキーピング プロセスは夜間に実行されます。Notes ini でスケジュールされたサーバー タスクを確認し、実行時にサーバー/エージェントに与える影響を評価します。例えば:

    ServerTasksAt1=Catalog,Design
    ServerTasksAt2=Updall
    ServerTasksAt5=Statlog
    

    この場合、2 ~ 5 の間で実行すると、UPDALL が影響を与える可能性があります。また、スケジュールされた実行についてプログラム文書を確認してください。

  3. どのような方法で書いていますか?インシデントごとにドキュメントを作成していて、ドキュメントの内容がそれほど多くない場合、書き込み時間は妥当なはずです。性能的にヒットしやすいのは、以下のいずれかです。

    • それらの書き込みをマルチスレッド化している場合。
    • ログ文書を引き出し、行を追加し、保存してから繰り返します。

最後に 1 つ考えておきたいことがあります。3000 エラーが発生している場合、X の量のエラーが継続する意味がないことを意味し、代わりに SNMP/email/etc を介して管理者に警告するポイントがあるに違いありません。それもコーディングする価値があるかもしれません。

それ以外の場合は、書き込みに関連するサンプル コードを投稿する必要があります。

于 2013-01-24T10:18:09.167 に答える
1

うーん、難しい、または一般的な質問です。私が理解している限り、あなたはあなたが通り抜けているビューでドキュメントを更新します。私はview.AutoUpdatefalse に設定します。これにより、コードの実行中にビューが再ロードされなくなります。これにより、コードが高速化されます。

これは、Designer ヘルプからの抜粋です。

AutoUpdate を明示的に False に設定して、親ビューを自動的に更新しないようにします。自動更新はパフォーマンスを低下させ、ナビゲーターのエントリを無効にする場合があります (「エントリがインデックスに見つかりません」)。必要に応じて、更新を使用してビューを更新できます。

それが役立つことを願っています。
それでも解決しない場合は、コード フラグメントまたは詳細を投稿することをお勧めします。

于 2013-01-24T10:05:31.023 に答える
0
  1. 1 つの巨大なドキュメントではなく、エラーごとに個別のドキュメントを作成します。

また

  1. データベースではなくテキスト ファイルに直接書き込み、必要に応じてドキュメントにプルします。これにより、処理が大幅に高速化されるはずです。
于 2013-01-29T09:04:36.290 に答える