sys_propertiesレコードで「キャッシュを無視」を使用する場合Issue サマリー: ServiceNow インスタンスで新しいシステムプロパティを作成 する場合、「sys_properties」レコードの「キャッシュを無視」を必ず「true」に設定する必要があります。[キャッシュを無視] が false に設定されているプロパティ値が変更されると、Glide システムキャッシュ全体のフラッシュがトリガーされ、キャッシュが再ビルドされるときにシステム全体のパフォーマンスが低下する可能性があります。 注:この記事は、システムプロパティの動作を説明し、新しいシステムプロパティの作成時またはカスタムプロパティの更新時に顧客に指示するために書かれています。一方、初期設定プロパティの [キャッシュを無視] フィールドは、ServiceNow から特に指示がない限り変更しないでください。SymptomsGlide プロパティを変更すると、システム全体のキャッシュがフラッシュされ、通常は 5 分から 30 分程度のパフォーマンスが軽度低下します。ごくまれなケースでは、これによりパフォーマンスが著しく低下し、平均トランザクション応答時間が 2 倍または 3 倍に増加することがあります。発生するデグレードは、更新セットを適用する場合と非常によく似ています。Glide プロパティを変更するときは、更新セットを適用するときと同じレベルの注意が必要です。ReleaseすべてのリリースCauseこの原因を理解するには、ServiceNow がクラスター化されたプラットフォームであり、複数のノードまたは JVM が連携して動作し、インターネット上では ServiceNow の単一の「インスタンス」 (acme.service-now.com など) のように見えることを理解する必要があります。プロパティはノードメモリにキャッシュされるため、クラスター内の各ノードには各プロパティの独自のコピーがあります。これは、一般的にアクセスされるプロパティ値のデータベース呼び出しを回避する方法です。1 つのノードでプロパティが変更されると、他のノードはプロパティ キャッシュをダンプし、データベースからすべてのプロパティの新しい値を再度取得します。これは、システムパフォーマンスにまったく些細な影響を与えます。 この部分は、[ignore_cache] フィールドが true に設定されているかどうかに関係なく発生します。 ただし、ignore_cache が false に設定されている場合 (Rome リリースまではこれがデフォルト値でした)、プロパティに関連する特定のキャッシュがフラッシュされるだけでなく Glide システムキャッシュ全体もフラッシュされます。もう一度言わせてください、そして、どうか、二重否定に注意を払ってください。プロパティがキャッシュを無視しないに設定されている場合は、Glide システムキャッシュ全体をフラッシュするように指示していることになります。これが、パフォーマンスへの重大な影響を引き起こす原因です。では、なぜそんなことをするのでしょうか?このキャッシュのフラッシュが行われる理由は、変更されたばかりのプロパティの古い値に関連している可能性のある他のキャッシュの依存関係や古い値を確実にフラッシュするためです。 たとえば、ページのレンダリングされた HTML をセッションごとにサーバー側に保存する UI キャッシュがあるとします。このようなキャッシュの目的は、同じユーザーに対して同じページを何度もレンダリングすることを避けることです。さらに、HTML のレンダリング方法が、変更されたプロパティの値に依存するとします。この UI キャッシュをフラッシュしないと、プロパティの古い値がレンダリングされた HTML で引き続き使用され、関連するプロパティの変更に基づいて UI に表示されると予想される変更は、ユーザーが新しいセッションを開始するまで (つまり、ログアウトして再度ログインするまで) UI に反映されません。このシナリオでは、キャッシュのフラッシュを無視しないように、キャッシュの無視が false に設定されていることを確認し、依存キャッシュも確実にフラッシュされるようにします。Resolutionカスタムプロパティの場合は、ignore_cache = true に設定します。