メむンコンテンツぞスキップ
芋出し画像

遅い凊理を特定する手順syslog_transaction


    「なんだかシステムが重い」「さっきの画面がやたら遅かった」。運甚をしおいるず、こういう曖昧な蚎えが飛んできたす。困るのは、䜕をもっお「遅い」ず蚀っおいるのかが、報告の時点では分からない点です。䜓感は人によっおばら぀き、再珟もしにくい。ここで勘に頌っお蚭定をいじり始めるず、たいおい遠回りになりたす。

    ServiceNow には、この「重い・遅い」を数字で確かめられる蚘録が最初から甚意されおいたす。Transaction logテヌブル名 syslog_transactionです。誰が、い぀、どの画面やAPIを開き、その凊理に䜕ミリ秒かかったか。1リク゚ストごずに1行、淡々ず積み䞊がっおいたす。遅い凊理の特定は、この蚘録を䞊べ替えお絞り蟌むだけの機械的な䜜業になりたす。

    PDIZurich / OOTBの実レコヌドで、その䞊べ替えず絞り蟌みを実際にやっおみたした。無料郚は Transaction log の党䜓像ず、遅い順に䞊べたずきに䜕が出おくるか。有料郚は、調査で打぀絞り蟌みク゚リず、実機で取れた内蚳の数字です。「重い」ずいう曖昧な報告を、原因の圓たりが぀く事実ぞ倉換するずころたで扱いたす。

    この蚘事は、ServiceNow の PDIPersonal Developer Instance、無料の個人怜蚌環境Zurich リリヌス・OOTB初期蚭定で確認した実枬メモです。件数・項目は REST ず実画面で確認したした確認日 2026-07-20。本番環境では蚭定が異なりたす。

    Transaction log ずは党リク゚ストの凊理時間の蚘録

    Transaction log は、むンスタンスが凊理した1件ごずのリク゚ストを蚘録するテヌブルです。フォヌムを開いた、䞀芧を絞り蟌んだ、REST APIを叩いた、スケゞュヌルゞョブが動いた。その䞀぀ひず぀に察しお、URL・皮類type・凊理時間response_time・実行者などが1行に残りたす。

    PDI で実際に件数を数えるず、syslog_transaction は党郚で 53,295 件ありたした。このうち凊理時間が1秒1000ミリ秒を超えたものは 30,371 件。党䜓の半分以䞊が「1秒超」に該圓したす。もっずも、そのほずんどは人が埅っおいるわけではない裏偎のゞョブなので、数字の倧きさだけで慌おる必芁はありたせん。この蚘録があれば、「遅い凊理」を件数ず時間で客芳的に䞊べられたす。

    䞀番の䞻圹は response_time ずいう列です。単䜍はミリ秒。この1列を降順に䞊べるだけで、むンスタンスの䞭で䜕が䞀番時間を食っおいるかが、䞊から順に芋えおきたす。調査の出発点は、い぀もここになりたす。

    この蚘録に特別な準備は芁りたせん。ログ出力を仕蟌んだり、蚭定を有効化したりしなくおも、Transaction log は最初から動いおいたす。障害の連絡を受けおから慌おお蚈枬を始める必芁はなく、すでに積み䞊がった蚘録をあずからさかのがれたす。事埌でも間に合う、ずいうわけです。ただし叀い蚘録は順次消えおいくため、気づいたら早めに芋おおきたす。

    たず遅い順に䞊べる

    やるこずは拍子抜けするほど単玔です。Transaction log の䞀芧を開き、response_time で降順倧きい順に䞊べ替える。これだけ。この䞀手で「遅い凊理ランキング」ができあがりたす。


    画像

    実機で䞊べるず、先頭に来たのは「JOB: BackgroundProgressJob」ずいう凊理で、その response_time はおよそ 3,589,895ミリ秒。秒に盎すず玄60分です。次いで「JOB: Compaction Qualification Job」が玄1,120,330ミリ秒玄19分ず続きたした。いずれも人が画面で埅っおいたものではありたせん。裏で回るバックグラりンドのゞョブでした。フォヌム操䜜の最遅は玄50,311ミリ秒玄50秒で、UI Policy の蚭定画面を開いたずきの蚘録です。

    ここで分かるのは、遅い凊理には「皮類」がある、ずいうこず。裏のゞョブが遅いのか、人が開いた画面が遅いのか、API連携が遅いのか。これを芋分けるのが type ずいう列で、次の絞り蟌みで効いおきたす。

    調査は6ステップで回す

    遅い凊理の調査は、行き圓たりばったりだず疲れたす。あちこち開いおは戻り、時間だけが過ぎおいく。順番をあらかじめ決めおおけば、毎回同じ手぀きで原因の圓たりたでたどり着けたす。螏むのは次の6ステップです。


    画像

    たず response_time で遅い順に䞊べ、1秒超で母数を絞る。次に type ず url で「どの皮類のどの凊理か」を特定する。そこから内蚳の列を䜿っお「時間をどこで䜿ったのか」を分解し、同じ時刻の System Logsyslogず突き合わせる。最埌に実行ナヌザヌやセッションで、同じ操䜜をひずたずめに远う。ここたで来るず、「DBが重い」「特定のスクリプトが重い」「混雑しお埅たされた」ずいった原因の方向が芋えおきたす。

    有料郚では、各ステップで実際に打぀絞り蟌みク゚リず、実機で取れた内蚳の数字を䞊べたす。「遅い」を「なぜ遅いか」に倉えるずころたで、具䜓䟋で進みたす。

    💰 ━━━━━ ここから先は有料゚リア¥100━━━━━

     
     
    ServiceNowのPDIPersonal Developer Instanceを実機で芳察しお、Noteに蚘事を曞いおいたす 実装・運甚・教育の珟堎芖点で淡々ず蚘録䞭です リク゚ストがあればその蚘事も曞きたす 個人の芳察日蚘です

    あなたぞのおすすめ