24 MySQL sys框架 24 MySQL sys框架... 1 24.1 sys框架的前提條件... 1 24.2 使用sys框架... 2 24.3 sys框架進度報告... 3 24.4 sys框架的對象... 3 24.4.1所有sys下的對象... 3 24.4.2 sys框架的表和觸 ...
24 MySQL sys框架
24.1 sys框架的前提條件
在開始使用sys框架之前,有一些前提條件,sys需要mysql 5.6或者更高版本。因為sys是performance_schema的替代方案,performance_schema必須啟動,sys才能夠使用。
為了完全訪問sys,需要有以下許可權:
· Sys表和視圖的select許可權。
· Sys存儲過程和函數的exec許可權。
· Sys_config表的insert,update許可權。
· 另外執行存儲過程需要一些其他的許可權,可以看存儲過程的描述。
其他許可權:
· Sys框架對象訪問的任何performance_Schema的表的select許可權,和sys框架對象更新的任何表的update許可權。
· Information_schema.innodb_buffer_page的process表。
特定的performance_Schema消費者和記錄點要啟動:
· 所有的等待記錄點
· 所有stage記錄點
· 所有statement記錄點
· Xxx_current和xxx_history_long消費者相關的所有事件。
你可以使用sys下麵的存儲過程啟動所有這些選項:
CALL sys.ps_setup_enable_instrument('wait');
CALL sys.ps_setup_enable_instrument('stage');
CALL sys.ps_setup_enable_instrument('statement');
CALL sys.ps_setup_enable_consumer('current');
CALL sys.ps_setup_enable_consumer('history_long');
註意點:
對於很多sys的使用,預設的性能框架數據收集就能夠滿足,啟動所有的記錄點和消費者會對性能有一點影響,所以最好只啟動你要的配置。通過這個函數也可以返回預設配置:
CALL sys.ps_setup_reset_to_default(TRUE);
24.2 使用sys框架
查看sys版本和mysql版本:
mysql> USE sys;
Database changed
mysql> SELECT * FROM version;
+-------------+-----------------+
| sys_version | mysql_version |
+-------------+-----------------+
| 1.5.0 | 5.7.9-debug-log |
+-------------+-----------------+
Sys框架下包含了很多視圖合計了性能框架的表。很多這些視圖成對出現的,比如一個成員的名字和另外一個一樣,只是加了x$的首碼。比如host_summary_by_file_io有個名字一樣的x$host_summary_by_file_io,2個顯示的單位不同。
mysql> SELECT * FROM host_summary_by_file_io;
+------------+-------+------------+
| host | ios | io_latency |
+------------+-------+------------+
| localhost | 67570 | 5.38 s |
| background | 3468 | 4.18 s |
+------------+-------+------------+
mysql> SELECT * FROM x$host_summary_by_file_io;
+------------+-------+---------------+
| host | ios | io_latency |
+------------+-------+---------------+
| localhost | 67574 | 5380678125144 |
| background | 3474 | 4758696829416 |
+------------+-------+---------------+
沒有x$首碼的表更容易讀。帶x$和不帶x$顯示的數值是一樣大的用來用具獲取和處理這些數據。
可以使用show 語句或者information_schema的查詢獲取對象的定義比如:
mysql> SHOW CREATE VIEW session;
mysql> SHOW CREATE FUNCTION format_bytes;
mysqldump,mysqlpump預設不導出sys框架,導出sys需要顯示設置:
mysqldump
--databases --routines sys > sys_dump.sql
mysqlpump sys > sys_dump.sql
導入sys結構:
mysql < sys_dump.sql
24.3 sys框架進度報告
Mysql 5.7.9,在sys下提供了長運行事務的進度報告:
Processlist
session
x$processlist
x$session
假設請求的記錄點和消費者已經啟動了,這些視圖的progress列顯示了完成的百分比。
stage進度報告要啟動events_stages_current消費者,還有一些需要啟動的記錄點信息:
stage/sql/Copying
to tmp table
stage/innodb/alter table (end)
stage/innodb/alter table (flush)
stage/innodb/alter table (insert)
stage/innodb/alter table (log apply index)
stage/innodb/alter table (log apply table)
stage/innodb/alter table (merge sort)
stage/innodb/alter table (read PK 和 internal sort)
stage/innodb/buffer pool load
對於stage不支持簡歷和完成工作報告,如果請求記錄點和消費者沒有啟動,progress列為null。
24.4 sys框架的對象
24.4.1所有sys下的對象
Table 24.1 sys Schema Tables 和 Triggers
Table or Trigger Name |
Description |
sys schema configuration options |
|
sys_config insert trigger |
|
sys_config update trigger |
View Name |
Description |
Statement activity, file I/O, 和 connections, grouped by host |
|
File I/O, grouped by host |
|
host_summary_by_file_io_type, x$host_summary_by_file_io_type |
File I/O, grouped by host 和 event type |
Statement stages, grouped by host |
|
host_summary_by_statement_latency, x$host_summary_by_statement_latency |
Statement statistics, grouped by host |
host_summary_by_statement_type, x$host_summary_by_statement_type |
Statements executed, grouped by host 和 statement |
innodb_buffer_stats_by_schema, x$innodb_buffer_stats_by_schema |
InnoDB buffer information, grouped by schema |
innodb_buffer_stats_by_table, x$innodb_buffer_stats_by_table |
InnoDB buffer information, grouped by schema 和 table |
InnoDB lock information |
|
I/O consumers, grouped by thread |
|
Global I/O consumers, grouped by file 和 bytes |
|
io_global_by_file_by_latency, x$io_global_by_file_by_latency |
Global I/O consumers, grouped by file 和 latency |
Global I/O consumers, grouped by bytes |
|
io_global_by_wait_by_latency, x$io_global_by_wait_by_latency |
Global I/O consumers, grouped by latency |
Most recent I/O, grouped by file 和 thread |
|
memory_by_host_by_current_bytes, x$memory_by_host_by_current_bytes |
Memory use, grouped by host |
memory_by_thread_by_current_bytes, x$memory_by_thread_by_current_bytes |
Memory use, grouped by thread |
memory_by_user_by_current_bytes, x$memory_by_user_by_current_bytes |
Memory use, grouped by user |
memory_global_by_current_bytes, x$memory_global_by_current_bytes |
更多相關文章
一周排行
所有分類
|