あなたのプロセスは毎日 1800 の新しいドキュメントを生成しており、ドキュメントも定期的にアーカイブしているとのことで、アーカイブ後にそれらを削除していると推測されます。このようなアプリケーションでは、時間の経過とともにパフォーマンスの問題が発生する可能性があります。データベースに多数の削除スタブがあり、NSF ファイルが (内部および/または外部で) 高度に断片化されている可能性があります。
無料のNotesPeekユーティリティを使用してデータベースを調べ、データベースに含まれる削除スタブの数を確認してください。次に、パージ間隔の設定を確認し、快適な最小値に下げることを検討してください。(つまり、すべてのサーバーとユーザーがその時間内に複製されることがわかるように十分に大きく、削除スタブが大量に蓄積されないように十分に小さくします。) パージ間隔を変更した場合は、スタブが複製されるまで 24 時間待つことができます。または、サーバー コンソールでデータベースに対して updall を手動で実行して、強制的に削除することができます。
次に、NSF ファイルに対して compact -c を実行し、NSF が存在するサーバー ディスク ボリュームに対してデフラグを実行する必要があります。
これらの手順によってパフォーマンスが向上する場合は、削除スタブ、データベースの増大、および断片化を最小限に抑えるコーディング手法を使用して、問題の再発を防ぐためにコードで手順を実行することをお勧めします。
つまり、アーカイブ用のコードに移動し、アーカイブ後に削除されないように変更します。代わりに、コードに などのフィールドでマークを付けますFreeDocList := "1"
。(FreeDocList)
次に、 の選択式で呼び出される隠しビューを追加しFreeDocList = "1"
ます。& (!(FreeDocList = "1"))
また、データベース内の他のビューに移動して、選択式に追加します。次に、新しい空白のドキュメントを追加するコードを変更して、新しいドキュメントを作成する代わりに、FreeDocList
ビューに移動して最初のドキュメントを見つけ、 を設定FreeDocList = "0"
し、以前のフィールド値をすべてクリアします。もちろん、FreeDocList ビューに十分なドキュメントがない場合、コードは古い動作に戻り、新しいドキュメントを作成します。
上記の変更により、新しい文書を削除して作成する代わりに、可能な限り既存の文書を再利用することになります。このようなコードでベンチマークを実行したところ、役立つことがわかりました。しかし、すべての場合において保証することはできません。アプリケーションで他に何が起こっているかに大きく依存します。