JunshuO
ServiceNow Employee

ServiceNow の強力なアーキテクチャを活用してパフォーマンスとスケーラビリティを大幅に向上させた最近の成果を共有できることを嬉しく思います。

 

課題 :

~4MB程度の添付ファイルも持つ複数の関連レコードとともに、約100万件のレコードをServiceNow内に作成する必要がありました。単一ノードのみを使用した場合、ServiceNowでこれだけの量のデータを作成するには、およそ7〜8日かかります。これは、システム負荷を最小限に抑え、スムーズな運用を確保するために、効率と速度が要求されるタスクです。単一ノードでスクリプトを実行していた場合、そのスクリプトは他のアクティビティよりも優先してスケジューラで実行され、インスタンスの速度が低下し、パフォーマンスに影響を与えていたでしょう。

 

ソリューション : スケジュール済みジョブ、イベント、スクリプトアクションの活用 :

これに対処するために、ServiceNow のノード(弊社には20個のプライマリノードがありました)のパワーを活用する戦略を開発しました。特定のノードに関連付けられたスケジュール済みジョブを使用してイベントやスクリプトアクションを発生させることで、作業負荷を分散することができました。

 

私たちのアプローチの内訳は次のとおりです。

 

  1. スケジュール済みジョブ :

- レコード作成プロセスを開始するためのスケジュール済みジョブを設定しました。

- これらのジョブは特定のノードで実行されるように構成されており、環境全体でワークロードが均等に分散されるようにしました。

 

  1. イベントの発生 :

- 各スケジュール済みジョブは、実行時にカスタムイベントを発生させるように設計されています。

- このイベントは、レコード作成スクリプトアクションのトリガーとして機能しました。

 

  1. スクリプトアクション :

- 強力なスクリプトアクションがカスタムイベントに関連付けられました。

- このスクリプトは、データの整合性を確保し、トラブルシューティングを容易にするためのエラー処理やロギングメカニズムなど、実際のレコードの作成を担当しました。

 

  1. ノード固有の実行 :

- スケジュール済みジョブを特定のノードに結び付けることで、並列処理を実現しました。

- 各ノードがレコード作成タスクの一部を処理したため、必要な全体的な時間が大幅に短縮され、単一のノードがボトルネックになるのを防ぎました。

 

興味深いことに、これにより、1つのジョブに特化した8つのセマフォをすべて実行する専用ノードを持つことが可能となり、パフォーマンスを大幅に向上させることができました .

これにより広がる他の多くの可能性は計り知れません。

 

結果 :

結果は驚くべきものでした!単一ノードアプローチでかかるよりもはるかに早く、2日以内に約100万件のレコードの作成に成功しました。これは、ServiceNow のスケーラビリティを示し、プロセスの革新と最適化を行う当社のチームの能力を浮き彫りにしたものであり、プラットフォームのお客様から大きな信頼を得ました。

 

影響 :

- 効率性 :レコードの一括作成に必要な時間が大幅に短縮されました。

- スケーラビリティ :大規模な運用を処理する ServiceNow の機能を実証しました。

- パフォーマンス :プロセス全体を通じてシステムのパフォーマンスと安定性を維持します。

 

 

何かあったらお気軽にご連絡ください。

 

よろしくお願いいたします。

オムカル・モネ


この記事は機械翻訳されております。最新は元となる記事をご覧ください: https://www.servicenow.com/community/developer-blog/optimizing-servicenow-achieving-scale-with-multi...。

免責事項: 一部の日本語は、翻訳ソフトウェアを使用してお客様の便宜のために翻訳されています。正確な翻訳をご提供できるよう相当な努力を払っておりますが、いかなる自動翻訳も人間の翻訳者に代わすることはなく、そのようなことは意図されておりません。翻訳は「現状のまま」提供されています。他言語への翻訳の的確性、信頼性または正確性については、明示または黙示を問わず、いかなる保証も行われません。翻訳ソフトには限界があるため、一部のコンテンツが正確に翻訳されていない場合があります。これらの資料の公用言語は英語です。翻訳の際に生じる相違または不一致は、コンプライアンスまたは履行の目的に関しては拘束力を有さず、法的効力はないものとします。

This article was machine translated and replicated from the original source: https://www.servicenow.com/community/developer-blog/optimizing-servicenow-achieving-scale-with-multi...。