セマフォおよびスケジューラーワーカーに関する情報<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } セマフォとは何ですか? セマフォは、任意の時点でノードで発生する可能性のあるトランザクションの数を管理および規制するプラットフォームの重要なコンポーネントです。このメカニズムは、ノード上のリソースを保護し、それらのリソースの過負荷や競合を防ぐために配置されています。 ユーザーが要求を送信すると、その要求はセマフォプールに送られ、そこで実質的にキューに入ります。そのプールに利用可能なセマフォがある場合、要求はそれを取得してトランザクションの処理に進みます。トランザクションが正常に完了すると、セマフォが解放され、キューで待機している他の要求で使用できるようになります。 例 : home.do トランザクションが最初のセマフォで実行されています。 Default Available semaphores: 15Queue depth: 0Max queue depth: 24In-use semaphores:0:C4F9DF6EDBAC7E004FC2F4621F961986 #1687034 /home.do (Default-thread-11) (0:00:00.004)Maximum transaction concurrency: 16Maximum concurrency achieved: 12-------------------------------- セマフォプールにはどのような種類がありますか? セマフォプールは、バージョンと顧客固有のニーズに基づいて変更されています。OOB (Out of Box) セマフォプールは次のとおりです。 デフォルト (UI トラフィック) デフォルトのセマフォプールは、すべての UI トランザクション (ホームページ、サービスポータルページ、カタログなど) を処理するために使用されます。要求が別のセマフォプールを経由するように指定されていない限り、その要求はデフォルトのプールに格納されるため、パフォーマンスにとって最も重要なプールになります。デフォルトがいっぱいになり、セマフォ待機または却下された要求 (キュー深度がいっぱい) が発生し始めると、ユーザーにはすぐに影響が及ぶことがわかります。 ほとんどのデフォルトのセマフォプールは、同時処理用に 150 個のキュー深度と 16 個のセマフォで構成されています。 このキューは、ユーザーが最も直接的な影響を感じる場所です。キューがいっぱいになると、他のユーザートラフィックが列に並んで待機する必要があります。これにより、「待ち時間」、より具体的には「セマフォ待ち時間」が生じます。ユーザーは、要求が処理されるまでセマフォが解放されるのを待ちます。 キュー深度 (このデフォルトでは 150) に達すると、後続のすべての要求が却下されます。これにより、一般的な「HTTP 429 拒否された要求」というエラーメッセージが表示されます。 デフォルトセマフォの例を以下に示します。ただし、プラットフォーム開発チームによって確認されない限り、この設定を変更しないでください。お客様がこの設定を自分で変更すると (特に数を増やすと)、メモリやその他のリソースの制約が発生するリスクがあります。 AMB 送受信 AMB セマフォプールの送信と受信は、2 つの異なるプールに分離されました。両方のプールは同じように構成されており、キュー深度は 150 で、同時処理用のセマフォは 4 つです。 SEND メッセージ:サブスクライバーに配布されるメッセージをサーバーに公開するクライアント RECEIVE メッセージ:クライアントへのメッセージの配信 単一統合プール 統合トラフィックは、API_INTプールを介してルーティングされます。これは一般に「単一統合プール」と呼ばれます。要求は、パラメーターとその URI の両方に基づいてここでルーティングされます。すべての初期設定の REST API は、パス (/API/now/v1/table | stats | attachment) で指定されます。 注意:すべての REST トラフィックがこのプールを介してルーティングされるわけではなく、統合に固有の REST トラフィックのみがルーティングされます。REST は UI の多くの側面をロードしますが、これは UI トラフィックと見なされ、デフォルトのセマフォプールを介して送信されます。 さらに、特定の Web サービス (JSON や SOAP など) に対して個別の統合プールが構成されている場合でも、トラフィックは API_INT プールを介してルーティングされます。API_INT プールのsys_semaphoreレコードのパラメーターから Web サービスを削除する必要があります。 プレゼンス プレゼンスプールは、大量のプレゼンス要求がデフォルトのプールにあふれるお客様のパフォーマンスの問題が発生した後、Geneva リリースで実装されました。このプールは、ユーザープレゼンスを厳密に処理します。レコードプレゼンスは AMB を使用するため、すべてのレコードプレゼンストラフィックは AMB プールを介してルーティングされることに注意してください。 プレゼンス要求は量は多いが影響度は低いため、プールを 8 に設定することにしました。キューが滞留してプレゼンス要求が拒否された場合でも、これらの要求は頻繁に送信されるため、お客様が影響を受ける可能性は低いです。 スケジューラーワーカー ワーカーには 3 つのタイプがあります。 スケジューラーワーカー :各ノードには、スケジューラーキュー内のジョブを処理するためのワーカーが 8 つあります。スケジューラワーカーもスレッドであり、0〜7 の番号が付けられているため、キュー内でのジョブ処理が効率的に行われることに注意することが重要です。これらのワーカーは、特定の時間または間隔で実行されるようにスケジュールされたジョブの処理を担当します。 バーストワーカー:これは、最も重要なジョブが遅延しないようにするために特定のシナリオでのみ使用される特別な 9 番目のワーカースレッドです。ジョブをバーストワーカーで実行するには、そのジョブの優先度が <=25 で、60 秒間キューに入れられ、遅延が発生し、一定期間そこに放置されている必要があります。このワーカーは、即時の対応が必要なジョブを処理するように設計されています。 プログレスワーカー:これらのワーカーはスケジューラースレッドで実行され、UI に進行状況/割合を表示する長時間実行されるジョブを処理するように設計されています。Progress Worker のユースケースには、アップグレード、プラグイン、更新セット、およびその他の同様のタスクが含まれます。ジョブの「ラッパー」として機能することで、実行しているアクティビティの最新情報を UI に提供し、ジョブのステータスを常にユーザーに知らせることができます。これらのワーカーは、ユーザーが進捗状況を監視し、ジョブが期待どおりに実行されていることを確認できるため、完了までに時間がかかるジョブに特に役立ちます。 「stats.do」ページにアクセスすると、現在のノードに関連するワーカーの現在の詳細を確認できます。次に、少し下にスクロールして関連情報を確認します。表示される内容の例を次に示します。