すべてのプロダクト
Search
ドキュメントセンター

PolarDB:CPUのボトルネック

最終更新日:Jun 03, 2024

連続したCPU待ちイベントの数が多い場合、CPUボトルネックが発生します。 この場合、関連データを確認し、この問題を分析する必要があります。

polar_stat_activity_rtビューでは、CPU使用率が高いプロセスを確認できます。
SELECT
    backend_type,SUM(cpu_sys cpu_user) AS cpu_rate
FROM polar_stat_activity_rt
backend_typeによるグループ
ORDER BY cpu_rate desc; \watch 1 
CPU待機イベントの数が連続した期間のCPUコアの数より大きい場合、同時CPU待機イベントの数は大きくなります。
polar_stat_activityビューを使用して、CPU使用率が高いSQL文を確認します。
SELECT 
    query, COUNT(*) AS wait_count
FROM polar_stat_activity
WHERE state='active' AND backend_type='client backend' AND wait_event_typeはNULLです
GROUP BYクエリ
注文BY wait_count DESC; \ウォッチ1 

pg_stat_databaseビューのxact_commit列とxact_rollback列の値の増分を確認して、1秒あたりのトランザクション数 (TPS) がビジネス要件を満たしているかどうかを確認します。 polar_stat_query_countビューで実行されたクエリの総数の増分を確認して、1秒あたりのクエリ数がビジネス要件を満たしているかどうかを判断することもできます。

CPU使用率が高いSQL文を特定したら、pg_stat_文およびpolar_stat_SQLビューからsql統計を取得できます。