トラブルシューティング中に「debug dataplane pow performance」の出力を解釈する方法が高い DP CPU
60714
Created On 12/31/18 06:45 AM - Last Modified 06/09/23 09:24 AM
Objective
のSSO(スケジュール/同期/順序) ユニットは、パケットのスケジューリングと順序付けを管理するデータプレーンのコンポーネントです。 としても知られていますPOW(パケット/注文/作業)。 に基づいて、コアへの作業のスケジューリングを担当します。QOS優先順位と作業グループ。 また、パケットの入力順序も維持されます。
Aワーク グループは一連のアプリケーションであり、各コアは複数のワーク グループに割り当てることができます。 ワーク グループは、異なるコア間で処理負荷を分散するために使用されます。 パケットのワーク グループ値は入力時に自動的に設定され、ソフトウェアで変更できます。
関数は、ワーク グループ内のコアによって実行されるタスクのサブセットです。
この記事では、電力性能データを解釈する方法についていくつかの指針を説明します。
Environment
この出力はすべてに共通ですPAN-OSファイアウォールのいずれかhardwareまたは仮想。
Procedure
の出力「データプレーンの電力パフォーマンスをデバッグ」各ワークグループの使用方法の簡単なアイデアを提供し、DP最後のサンプリング サイクルでの関数:
- ワークグループと機能がスケジュールされた回数。
- 各ワーク グループおよび機能の平均処理時間 (マイクロ秒 (us))。
- 各ワーク グループおよび機能の最大処理時間 (マイクロ秒 (us))。
出力例:
列 1: 作業部会 [またはDP機能】名称
列 2: 最後のサンプリング サイクルにおけるこの作業グループの最大処理時間
列 3: 最後のサンプリング サイクルにおけるこのワーク グループの平均処理時間
列 4: この作業グループの回数 [またはDP機能】を予定しておりました
ワークグループの説明:
flow_np : Network Processor. Very first program to decide if it is slow path or fast path. flow_lookup : Responsible for existing session/flow lookup. flow_mgmt : Installation and clearing of session table. flow_fastpath : Fastpath processing of packet (Includes post slowpath processing and content inspection). flow_slowpath : Slow path processing of packet (route and policy lookup and session setup). flow_forwarding : Handles forwarding stage of packets. dfa_result : Appid signature matching module_internal : Control messages between internal components . aho_result : Threat signature matching. zip_result : Used for ZIP processing. pktlog_forwarding : Responsible for forwarding logs to MP. flow_host : Process handling packets destined to Firewall flow_ctrl : Aging sessions and handling net-messages nac_result : Analyzing result of appid signature match output
上記の出力は、DP .
- count の相対値により、どのワーク グループまたは関数がより多くの回数呼び出されているかがわかります。
- 一般に、flow_slowpath の処理は、flow_fastpath に比べてカウントが少なくなります。このデータを歴史的に比較するとdp-モニターログ ファイルを確認すると、特定の時間枠で特定のワーク グループのカウントが増加したかどうかを確認できます。
- module_internal次のような内部コンポーネント間の制御メッセージに使用されますURLルックアップなどAmodule_internal の数が多い場合は、内部メッセージが多いことを示している可能性があります。
- 一般的にはflow_fastpath、flow_forwarding、flow_np通過トラフィックごとに呼び出す必要があります。 したがって、それらの数は比較的多くなります。
- aho_result、dfa_result、nac_resultレイヤ 7 の量を把握できますfirewall.
- A Max Proc us の高い値は問題ありませんが、ave の高い値です。 proc us は良くありません。
NOTE: ワーク グループごとに count に ave proc us を掛けて、どのワーク グループが最も多く使用しているかを知ることができます。CPU時間。 - 作業グループの観点から物事が正常に見え、静止している場合DP CPU負荷がかかっている場合は、関数を調べて、どの関数がどれだけ使用しているかを理解する必要がありますCPU.
Additional Information
ケーススタディ:
例えば、CPUは 100% で、ワークグループは次のようになります。
:group max. proc us ave. proc us count :flow_lookup 0 0 0 :flow_fastpath 122087 55 33971601 :flow_slowpath 199 72 345516 :flow_forwarding 75 2 8910565 :flow_mgmt 57 29 69 :flow_ctrl 100 6 302011 :nac_result 50 1 2015416 :flow_np 66 4 33255061 :dfa_result 21794 242 2059391 :module_internal 525 18 173530 :aho_result 119981 154 2014275 :zip_result 16771 234 197454 :pktlog_forwarding 84 7 287854 :lwm 0 0 0 :flow_host 52 11 5494
上から高速パスが最高であることはわかっていますが、どのコンポーネントがより多くを使用しているかの理由を見つけるためにCPU同じ関数を見てみましょう:
:func max. proc us ave. proc us count :dfa_match 0 0 0 :policy_lookup 125 10 2239062 :user_group_policy 87 1 477903 :get_gid 41 0 1061755 :regex_lookup 6217 102 2233481 :regex_postfpga 910 16 1039761 :reg_expr_match 0 0 0 :sml_vm 208 6 31643903 :detector_run_p1 2342 34 906163 :detector_run_p2 31327 79 889286 :ssl_proxy_proc 63072 600 2500540 :ssl_encode 202 36 805522 :rsa_operation_pub_enc 766 309 6688 :rsa_operation_pub_dec 648 263 116 :rsa_operation_priv_enc 8216 8168 14362 :rsa_operation_priv_dec 8260 8178 6427 :rsa_key_gen 40126 23467 43 :rsa_RSA_sign 13840 13236 33704 :rsa_RSA_verify 963 430 71904 :ecdhe_key_gen 22925 7559 18 :ecdhe_key_gen_mul 0 0 0 :ecdhe_key_compute_mul 22121 6640 82229 :ecdhe_key_compute 22565 6856 82224 :ecdhe_generate_xchg_key 23514 7948 18 :ecdhe_gen_key_exchange_msg 22630 6949 43919 :ecdhe_get_key_exchange_msg 22656 6932 38261 :ecdhe_parse_server_key_exchange_msg 320 244 45817 :ecdhe_gen_server_key_exchange_msg 78 29 43561 :dhe_gen_para 0 0 0 :dhe_gen_key 0 0 0 :dhe_key_compute 0 0 0 :bn_mod_exp 8226 6196 27618 :cipher_enc 142 9 1956671 :zip_deflate 50 2 197543 :pktlog_log 0 0 0 :pktlog_send 0 0 0 :tunnel_encap 0 0 0 :tunnel_decap 0 0 0 :tunnel_esp 0 0 0 :tunnel_esp_decap 0 0 0 :tunnel_ah_decap 0 0 0 :tunnel_ah 0 0 0 :tunnel_fwd 0 0 0 :tunnel_prepare 0 0 0 :tunnel_post 0 0 0 :appid_result 0 0 0 :ctd_token 21789 239 2060687 :dos_update 17 0 212713 :urlcache_update 20065 178 2555 :urlcache_lookup 107402 125 540508 :urlcache_insert 0 0 0 :urlcache_delete 0 0 0 :urlcache_lru 0 0 0 :session_install 59 8 217532 :session_age 36 0 875144 :session_delete 165 11 212717 :session_purge 0 0 0 :inline_switch 0 0 0 :age_arp 20 2 595 :age_pbf_ret_mac 1 0 595 :stack_trace 0 0 0 :ctd_pw_check 0 0 0 :ctd_pw_md4 0 0 0 :ctd_pw_extract 0 0 0 :prl_rewrite 0 0 0 :pkt_rewrite 0 0 0 :vpn_send_to_client 0 0 0 :vpn_cookie_response 0 0 0 :raven_match 46 2 131751 :raven_match_header 52 2 187227 :raven_match_body 51 14 6 :raven_sig_get_action 0 0 0 :age_mfib 1 0 595
上記で、カウントに平均時間を掛けると、何が最も多く使用されているかを明確に把握できます。CPU . たとえば、以下を参照してください (使用頻度の高い関数についてのみ出力が切り捨てられます)。
:func max. proc us ave. proc us count count*avg :ssl_proxy_proc 63072 600 2500540 1500324000 :ecdhe_key_compute 22565 6856 82224 563727744 :ecdhe_key_compute_mul 22121 6640 82229 546000560 :ctd_token 21789 239 2060687 492504193 :rsa_RSA_sign 13840 13236 33704 446106144 :ecdhe_gen_key_exchange_msg 22630 6949 43919 305193131 :ecdhe_get_key_exchange_msg 22656 6932 38261 265225252 :regex_lookup 6217 102 2233481 227815062 :sml_vm 208 6 31643903 189863418 :bn_mod_exp 8226 6196 27618 171121128 :rsa_operation_priv_enc 8216 8168 14362 117308816 :detector_run_p2 31327 79 889286 70253594 :urlcache_lookup 107402 125 540508 67563500 :rsa_operation_priv_dec 8260 8178 6427 52560006 :rsa_RSA_verify 963 430 71904 30918720 :detector_run_p1 2342 34 906163 30809542 :ssl_encode 202 36 805522 28998792 :policy_lookup 125 10 2239062 22390620 :cipher_enc 142 9 1956671 17610039 :regex_postfpga 910 16 1039761 16636176 :ecdhe_parse_server_key_exchange_msg 320 244 45817 11179348
上位に使用されている関数のほとんどが関連していることがわかります。SSL復号化。 したがって、これにより、これを軽減するためにさらにどのような手順を実行するかについての良いアイデアが得られます.