Slide 1

Slide 1 text

12.0.2 における ビュー索引更新の パフォーマンス改善 2023年1月20日 テクてくLotus技術者夜会 中野晴幸 Haruyuki Nakano @harunakano (twitter) harunakano.blogspot.com (blog)

Slide 2

Slide 2 text

あらすじ 12.0.2の機能改善である「ビュー索引更新の改善」について、 HCLでDominoの開発チームの人のツイッターアカウントとその 人のブログから発信された 12.0.2 EAP のディスカッションフォーラムにはこの改善につい てトライしてほしいと投稿があり、また Drop 2 と Drop 5 の What’s New にはこの改善について記載があった。

Slide 3

Slide 3 text

しかも Drop 5 で改善されてる!? すごいぞ!! Drop 2 Drop 5

Slide 4

Slide 4 text

そして12.0.2 製品版が出荷されました

Slide 5

Slide 5 text

そして12.0.2 製品版が出荷されました ところが...

Slide 6

Slide 6 text

「ビュー再構築の改善」 は製品ドキュメントに 記載がありません

Slide 7

Slide 7 text

アイデアはShippedに変わってますが?

Slide 8

Slide 8 text

アイデアはShippedに変わってますが? そこで

Slide 9

Slide 9 text

ビュー更新の 改善の有無を 調べてみた updall タスクを実行してビュー再構築にかかる時間を記録しました。

Slide 10

Slide 10 text

検証の環境と方法 • 仮想マシン構築×2台(ゲストOS:Windows Server 2022) • 一方に12.0.1 FP1、他方に 12.0.2 を稼働させる • 両方の notes.ini へ CREATE_R12_DATABASES=1 を追加 • 12.0.2 の notes.ini へ ENABLE_VIEW_MIN_UNTIL=1 を追加 • 2つのシンプルなビューを持つアプリに100万文書を作成 • updall –C でビュー索引を作成 • updall –R でビュー索引の再構築 × 13回

Slide 11

Slide 11 text

【参考】2つのシンプルなビュー ソート列の値: 全角7文字 ソート列の値: 半角7文字 ※上の図はどちらもビュー索引構築後のものです

Slide 12

Slide 12 text

再構築にかかる時間を記録(単位:秒) [196C:0006-1BA4] load updall viewupdatetest1202.nsf -R [0EF0:0002-1A84] QueryResults::NamedFoundsetDeleteOld() has been called [0EF0:0002-1A84] Starting enumeration for ENUMACTION_FOUNDSET_DELETE_OLD in namedFoundsetEnumProc() [0EF0:0002-1A84] Ending enumeration for ENUMACTION_FOUNDSET_DELETE_OLD in namedFoundsetEnumProc() [0EF0:0002-1A84] Deleted 0 old named foundsets in viewupdatetest1202.nsf [0EF0:0002-1A84] Named foundset total time used by object: 9.533 ms [0EF0:0002-1A84] 2023/01/07 17:34:05 Index update process started: viewupdatetest1202.nsf -R [0EF0:0002-1A84] 2023/01/07 17:34:05 Updating views in C:¥Domino¥Data¥viewupdatetest1202.nsf [0EF0:0002-1A84] 2023/01/07 17:34:05 Updating views in C:¥Domino¥Data¥viewupdatetest1202.nsf [0EF0:0002-1A84] 2023/01/07 17:34:05 QueryResults::NamedFoundsetDeleteOld() completed in 9.533 ms [0EF0:0002-1A84] 2023/01/07 17:34:05 Informational, rebuilding view - user specified REBUILD (reading C:¥Domino¥Data¥viewupdatetest1202.nsf view note Title:'by Kanji') [0EF0:0002-1A84] 2023/01/07 17:34:06 Updating C:¥Domino¥Data¥viewupdatetest1202.nsf view 'by Kanji' [0EF0:0002-1A84] 2023/01/07 17:34:32 Informational, rebuilding view - user specified REBUILD (reading C:¥Domino¥Data¥viewupdatetest1202.nsf default view note Title:'by PartNumber partnumber') [0EF0:0002-1A84] 2023/01/07 17:34:33 Updating C:¥Domino¥Data¥viewupdatetest1202.nsf view 'by PartNumber' [0EF0:0002-1A84] 2023/01/07 17:34:46 Finished updating views in C:¥Domino¥Data¥viewupdatetest1202.nsf [0EF0:0002-1A84] 2023/01/07 17:34:46 Index update process shutdown

Slide 13

Slide 13 text

時間を記録した表 12.0.1 FP1 (ODS55) 12.0.2 (ODS55) ENABLE_VIEW_MIN_UNTIL=1 あり # ソート列に 全角7文字 (秒) ソート列に 半角7文字 (秒) ソート列に 全角7文字 (秒) ソート列に 半角7文字 (秒) 1 15:56:14-15:56:41 27 15:56:41-15:56:56 15 17:19:47-17:20:14 27 17:20:15-17:20:27 12 2 15:56:59-15:57:27 28 15:57:28-15:57:42 14 17:20:44-17:21:08 24 17:21:09-17:21:21 12 3 15:58:10-15:58:37 27 15:58:38-15:58:52 14 17:21:28-17:21:53 25 17:21:54-17:22:06 12 4 15:58:57-15:59:24 27 15:59:25-15:59:39 14 17:22:10-17:22:34 24 17:22:35-17:22:47 12 5 16:01:42-16:02:09 27 16:02:10-16:02:24 14 17:22:51-17:23:16 25 17:23:17-17:23:29 12 6 16:02:40-16:03:08 28 16:03:08-16:03:23 15 17:27:06-17:27:31 25 17:27:32-17:27:44 12 7 16:03:27-16:03:55 28 16:03:55-16:04:10 15 17:27:55-17:28:20 25 17:28:21-17:28:33 12 8 16:04:14-16:04:40 26 16:04:41-16:04:55 14 17:28:39-17:29:05 26 17:29:06-17:29:19 13 9 16:05:27-16:05:54 27 16:05:55-16:06:09 14 17:29:41-17:30:07 26 17:30:08-17:30:21 13 10 16:06:18-16:06:45 27 16:06:46-16:07:00 14 17:30:25-17:30:51 26 17:30:52-17:31:04 12 11 16:07:16-16:07:43 27 16:07:43-16:07:58 15 17:31:07-17:31:33 26 17:31:34-17:31:47 13 12 16:09:39-16:10:06 27 16:10:07-16:10:21 14 17:33:03-17:33:28 25 17:33:29-17:33:41 12 13 16:11:40-16:12:07 27 16:12:07-16:12:21 14 17:34:06-17:34:32 26 17:34:33-17:34:46 13 平均値 27.153846 14.30769 25.38462 12.30769

Slide 14

Slide 14 text

ビュー再構築の高速化が確認できた! ソート列の値 再構築の平均時間 (秒) 高速化 (%) 12.0.1 FP1 12.0.2 全角7文字 27.15 25.38 6.52 ↗ 半角7文字 14.31 12.31 13.98 ↗

Slide 15

Slide 15 text

HCLサポートに 確認してみた 機能改善があったことの裏を取ります

Slide 16

Slide 16 text

Q. 12.0.2ではビュー索引の更新機能に改 善がありますか?

Slide 17

Slide 17 text

Q. 12.0.2ではビュー索引の更新機能に改 善がありますか A. ありません。

Slide 18

Slide 18 text

Q. 12.0.2ではビュー索引の更新機能に改 善がありますか A. ありません。 いやいやいや? ちょっとまって!?

Slide 19

Slide 19 text

くいさがってみた • HCLの「Domino Core Application Lead」はご自身のブログで 12.0.2のビュー更新の改善について詳細を公開している • ベータフォーラムではビュー更新の改善について新機能として 紹介されており、ブログ作者は試してほしいと投稿した • Product Ideas Portal にビュー更新の改善のアイデアがあり、 12.0.2リリース後にステータスはShippedに変わっている

Slide 20

Slide 20 text

サポート側で再確認を実施、その結果は... V12.0.2でビュー索引のパフォーマンスが改 善されているか、 また、現在のV12.0.2でデフォルトで有効に なっているかについて、 弊社の開発部と協力し、確認致します。 ■次回連絡日 ご連絡がない場合には、1月23日(月) に、サポートよりご連絡致します。

Slide 21

Slide 21 text

サポート側で再確認を実施、その結果は... V12.0.2でビュー索引のパフォーマンスが改 善されているか、 また、現在のV12.0.2でデフォルトで有効に なっているかについて、 弊社の開発部と協力し、確認致します。 ■次回連絡日 ご連絡がない場合には、1月23日(月) に、サポートよりご連絡致します。 テクてく発表に 間に合いませんでした...

Slide 22

Slide 22 text

ブログ作者へDMしてみた(昨晩) その回答は...

Slide 23

Slide 23 text

HCL サポートへは、本件と併せて 以下の質問もしています • 本改善に関する文書は公開された? • 有効にするために notes.ini パラメータの追加は必要? • 古いODSバージョンでも機能する? • Notesクライアントでも機能する?

Slide 24

Slide 24 text

続きはブログで。 https://harunakano.blogspot.com