開発, 障害対応, MySQL, チューニング

performance_schemaでのロック待ち、スロークエリ分析

MySQL

 

引用元
https://zenn.dev/hiro1111/articles/performance_schema

 

 

  1. ステートメント分析
    最もリソースを消費しているSQLステートメントを特定します。以下のクエリは、CPU時間、待機時間、ロック時間、およびIO時間で最もコストが高いステートメントを見つけます。
SELECT EVENT_NAME, COUNT_STAR, SUM_TIMER_WAIT 
FROM performance_schema.events_statements_summary_global_by_event_name 
WHERE SUM_TIMER_WAIT > 0 
ORDER BY SUM_TIMER_WAIT DESC 
LIMIT 10;

 

    1. 待機イベント分析
      データベースの待機イベントを分析して、どのリソースがボトルネックになっているかを特定します。
SELECT * FROM performance_schema.events_waits_summary_global_by_event_name 
WHERE COUNT_STAR > 0 
ORDER BY SUM_TIMER_WAIT DESC 
LIMIT 10;

 

  1. スロークエリの識別
    performance_schemaを使用して、実行時間が長いクエリを特定します。events_statements_history_longテーブルには、最も長い実行時間を持つステートメントの履歴が保持されています。
SELECT SQL_TEXT, TIMER_WAIT 
FROM performance_schema.events_statements_history_long 
ORDER BY TIMER_WAIT DESC 
LIMIT 10;

ロック待機分析
ロック待機の原因となっているクエリを特定します。

SELECT * FROM performance_schema.events_waits_current 
WHERE EVENT_NAME LIKE '%lock%' 
ORDER BY EVENT_ID;

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)