閱讀856 返回首頁    go iPhone_iPad_Mac_apple


DRDS慢SQL明細__開發手冊_分布式關係型數據庫 DRDS-阿裏雲

DRDS慢日誌明細簡介

默認情況下,DRDS的每一個節點,會記錄5000條慢SQL明細(邏輯慢SQL和物理慢SQL加一塊5000條),例如,如果您的規格是4C4G,則有兩個DRDS節點,會記錄5000x2=10000條慢SQL明細。

當慢SQL數目多於限製數目的時候,會滾動刪除老的日誌。

DRDS中定義執行時間超過1s的SQL為慢SQL。

查看慢日誌明細的語法

SHOW FULL {SLOW | PHYSICAL_SLOW} [WHERE where_condition]
                                 [ORDER BY col_name [ASC | DESC], ...]
                                 [LIMIT {[offset,] row_count | row_count OFFSET offset}]

解釋

SHOW FULL SLOW顯示的是邏輯慢SQL,即您的應用發送到DRDS的SQL;SHOW FULL PHYSICAL_SLOW指的是物理慢SQL,即DRDS發送到RDS的SQL。

其中SHOW FULL SLOW的結果集會包含以下列,其含義如下:

    TRACE_ID: 905e1a093800000            該SQL的唯一標記,同一個邏輯SQL以及該邏輯SQL產生的物理SQL的TRACE_ID相同,同時TRACE_ID也會以注釋的形式發送到RDS,在RDS的SQL明細中可以根據TRACE_ID找到該SQL
        HOST: 127.0.0.1                  發送該SQL的客戶端的IP
  START_TIME: 2016-03-25 20:32:55.312    DRDS收到這個SQL的時間
EXECUTE_TIME: 1003                       DRDS執行該SQL消耗的時間
  AFFECT_ROW: 1                          該SQL返回的記錄數或者影響的行數
         SQL: select sleep(1)            執行的語句

SHOW FULL PHYSICAL_SLOW的結果集會包含以下列,其含義如下:

               TRACE_ID: 905e1a093800000                      該SQL的唯一標記,同一個邏輯SQL以及該邏輯SQL產生的物理SQL的TRACE_ID相同,同時TRACE_ID也會以注釋的形式發送到RDS,在RDS的SQL明細中可以根據TRACE_ID找到該SQL
             GROUP_NAME: TDDL5_00_GROUP                       執行的分片名稱
             DBKEY_NAME: db218249098_sqa_zmf_tddl5_00_3309    執行的分庫信息
             START_TIME: 2016-03-25 20:32:54.31               DRDS開始執行這個SQL的時間
           EXECUTE_TIME: 1003                                 DRDS執行該SQL消耗的時間
       SQL_EXECUTE_TIME: 1002                                 DRDS調用RDS執行該SQL消耗的時間
GETLOCK_CONNECTION_TIME: 0                                    DRDS從連接池取連接消耗的時間
 CREATE_CONNECTION_TIME: 0                                    DRDS建立RDS連接消耗的時間
             AFFECT_ROW: 1                                    該SQL返回的記錄數或者影響的行數
                    SQL: select sleep(1)                      執行的語句

例子

我們可以先通過一些條件,例如執行的時間,SQL字符串匹配等方式來獲取我們想要的慢SQL。然後我們可以根據TRACE_ID,在SHOW FULL PHYSICAL_SLOW中獲取這個SQL的物理執行情況,更進一步的,我們可以在RDS的SQL明細與慢SQL中,根據這個TRACE_ID查看這個SQL在RDS上的執行情況。

mysql> show full slow where sql like "%sleep%" order by execute_time limit 1;
+-----------------+-----------+-------------------------+--------------+------------+-----------------+
| TRACE_ID        | HOST      | START_TIME              | EXECUTE_TIME | AFFECT_ROW | SQL             |
+-----------------+-----------+-------------------------+--------------+------------+-----------------+
| 905e1a093800000 | 127.0.0.1 | 2016-03-25 20:32:55.312 |         1003 |          1 | select sleep(1) |
+-----------------+-----------+-------------------------+--------------+------------+-----------------+
1 row in set (0.06 sec)

mysql> show full physical_slow where trace_id='905e1a093800000';
+-----------------+----------------+-----------------------------------+------------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
| TRACE_ID        | GROUP_NAME     | DBKEY_NAME                        | START_TIME             | EXECUTE_TIME | SQL_EXECUTE_TIME | GETLOCK_CONNECTION_TIME | CREATE_CONNECTION_TIME | AFFECT_ROW | SQL             |
+-----------------+----------------+-----------------------------------+------------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
| 905e1a093800000 | TDDL5_00_GROUP | db218249098_sqa_zmf_tddl5_00_3309 | 2016-03-25 20:32:54.31 |         1003 |             1002 |                       0 |                      0 |          1 | select sleep(1) |
+-----------------+----------------+-----------------------------------+------------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
1 row in set (0.03 sec)

最後更新:2016-05-06 10:44:57

  上一篇:go 排查DRDS慢SQL__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
  下一篇:go DRDS數據導入__開發手冊_分布式關係型數據庫 DRDS-阿裏雲