Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GetDocField の処方箋

GetDocField の処方箋

Document Unique ID (UNID)とフィールド名を指定して、他の文書にあるフィールド値を取得できる @GetDocField 関数は、アプリケーションを遅延の大きいネットワーク上の Domino サーバーに設置したとたんにパフォーマンスの問題を引き起こす場合があります。
2022年4月7日開催の「のの会」で使用した本スライドでは、@GetDocField 関数の特徴と注意点、パフォーマンス問題の調べ方と解消する方法の一つを紹介しています。

@GetDocField については、次のエントリでも説明しています。
https://harunakano.blogspot.com/2022/01/getdocfield.html

Haruyuki Nakano

April 08, 2022
Tweet

More Decks by Haruyuki Nakano

Other Decks in Programming

Transcript

  1. 【参考】 NRPC コマンドのログを記録する • クライアントの notes.ini へ次の3行を追加 CLIENT_CLOCK=1 CONSOLE_LOG_ENABLED=1 DEBUG_THREADID=1

    ログがデータディレクトリの IBM_TECHNICAL_SUPPORT フォルダにある console.log に記録される
  2. 【参考】 NRPCコマンド発行回数と実行時間合計 1命令 x 61フィールド NRPCコマンド発行回数: • 61回 実行時間合計: •

    10033 ms (平均 164.5 ms) 61命令 x 1フィールド NRPCコマンド発行回数: • 1回 実行時間合計: • 165 ms
  3. 複数の @GetDocField は1つのフィール ドにまとめてパフォーマンスアップ!! • メモリ内のデータが再利用される条件 ➢@GetDocField が同じフィールドの式にある ➢UNID が同じ

    • カスタマサポートはこの方法がNRPCコマンド実行回数を削減 する方法としてサポートされることを明言しました。「しかし ながら、これは現在の設計思想であり、今後、パフォーマンス 上の改善などの設計変更によっては、その挙動が変更となる可 能性もあります事に、ご注意ください。」とも。