func_file_io.result 5.03 KB
Newer Older
1 2
UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
Marc Alff's avatar
Marc Alff committed
3
WHERE name LIKE 'wait/io/file/%';
4
flush status;
Marc Alff's avatar
Marc Alff committed
5 6 7 8
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
9 10 11
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
Marc Alff's avatar
Marc Alff committed
12 13 14 15
SELECT * FROM t1 WHERE id = 1;
id	b
1	initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
16
FROM performance_schema.events_waits_history_long
Marc Alff's avatar
Marc Alff committed
17 18
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD'));
19 20 21
SELECT (@before_count >= 0) as have_before_count;
have_before_count
1
Marc Alff's avatar
Marc Alff committed
22 23 24 25 26 27 28 29 30
SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation;
has_instrumentation
Success
SELECT * FROM t1 WHERE id < 4;
id	b
1	initial value
2	initial value
3	initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
31
FROM performance_schema.events_waits_history_long
Marc Alff's avatar
Marc Alff committed
32 33
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1));
34 35 36
SELECT (@after_count >= 0) as have_after_count;
have_after_count
1
Marc Alff's avatar
Marc Alff committed
37 38 39
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed;
test_ff1_timed
Success
40
UPDATE performance_schema.setup_instruments SET enabled='NO';
Marc Alff's avatar
Marc Alff committed
41
SET @before_count = (SELECT SUM(TIMER_WAIT)
42
FROM performance_schema.events_waits_history_long
Marc Alff's avatar
Marc Alff committed
43 44
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2));
45 46 47
SELECT (@before_count >= 0) as have_before_count;
have_before_count
1
Marc Alff's avatar
Marc Alff committed
48 49 50 51 52 53 54 55
SELECT * FROM t1 WHERE id < 6;
id	b
1	initial value
2	initial value
3	initial value
4	initial value
5	initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
56
FROM performance_schema.events_waits_history_long
Marc Alff's avatar
Marc Alff committed
57 58
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3));
59 60 61
SELECT (@after_count >= 0) as have_after_count;
have_after_count
1
Marc Alff's avatar
Marc Alff committed
62 63 64
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_ff2_timed;
test_ff2_timed
Success
65
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
Marc Alff's avatar
Marc Alff committed
66
WHERE name LIKE 'wait/io/file/%';
67 68 69 70
UPDATE performance_schema.setup_instruments SET timed = 'NO';
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
Marc Alff's avatar
Marc Alff committed
71 72 73 74 75 76
SELECT * FROM t1 WHERE id > 4;
id	b
5	initial value
6	initial value
7	initial value
8	initial value
77
SELECT * FROM performance_schema.events_waits_history_long
Marc Alff's avatar
Marc Alff committed
78 79 80 81
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
THREAD_ID	EVENT_ID	EVENT_NAME	SOURCE	TIMER_START	TIMER_END	TIMER_WAIT	SPINS	OBJECT_SCHEMA	OBJECT_NAME	OBJECT_TYPE	OBJECT_INSTANCE_BEGIN	NESTING_EVENT_ID	OPERATION	NUMBER_OF_BYTES	FLAGS
82
SELECT * FROM performance_schema.events_waits_history
Marc Alff's avatar
Marc Alff committed
83 84 85 86
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
THREAD_ID	EVENT_ID	EVENT_NAME	SOURCE	TIMER_START	TIMER_END	TIMER_WAIT	SPINS	OBJECT_SCHEMA	OBJECT_NAME	OBJECT_TYPE	OBJECT_INSTANCE_BEGIN	NESTING_EVENT_ID	OPERATION	NUMBER_OF_BYTES	FLAGS
87
SELECT * FROM performance_schema.events_waits_current
Marc Alff's avatar
Marc Alff committed
88 89 90 91
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
THREAD_ID	EVENT_ID	EVENT_NAME	SOURCE	TIMER_START	TIMER_END	TIMER_WAIT	SPINS	OBJECT_SCHEMA	OBJECT_NAME	OBJECT_TYPE	OBJECT_INSTANCE_BEGIN	NESTING_EVENT_ID	OPERATION	NUMBER_OF_BYTES	FLAGS
92
UPDATE performance_schema.setup_instruments SET timed = 'YES';
Marc Alff's avatar
Marc Alff committed
93 94 95 96 97 98 99 100 101 102
SELECT * FROM t1 WHERE id < 4;
id	b
1	initial value
2	initial value
3	initial value
DROP TABLE t1;
SELECT SUM(COUNT_READ) AS sum_count_read,
SUM(COUNT_WRITE) AS sum_count_write,
SUM(SUM_NUMBER_OF_BYTES_READ) AS sum_num_bytes_read,
SUM(SUM_NUMBER_OF_BYTES_WRITE) AS sum_num_bytes_write
103
FROM performance_schema.file_summary_by_instance
Marc Alff's avatar
Marc Alff committed
104 105
WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL;
SELECT EVENT_NAME, COUNT_STAR, AVG_TIMER_WAIT, SUM_TIMER_WAIT
106
FROM performance_schema.events_waits_summary_global_by_event_name
Marc Alff's avatar
Marc Alff committed
107 108 109 110
WHERE COUNT_STAR > 0
ORDER BY SUM_TIMER_WAIT DESC
LIMIT 10;
SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT
111 112
FROM performance_schema.events_waits_history_long h
INNER JOIN performance_schema.threads p USING (THREAD_ID)
113
WHERE p.PROCESSLIST_ID = 1
Marc Alff's avatar
Marc Alff committed
114 115
GROUP BY h.EVENT_NAME
HAVING TOTAL_WAIT > 0;
116
UPDATE performance_schema.setup_instruments SET enabled = 'YES';
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
show status like "performance_schema%";
Variable_name	Value
Performance_schema_cond_classes_lost	0
Performance_schema_cond_instances_lost	0
Performance_schema_file_classes_lost	0
Performance_schema_file_handles_lost	0
Performance_schema_file_instances_lost	0
Performance_schema_locker_lost	0
Performance_schema_mutex_classes_lost	0
Performance_schema_mutex_instances_lost	0
Performance_schema_rwlock_classes_lost	0
Performance_schema_rwlock_instances_lost	0
Performance_schema_table_handles_lost	0
Performance_schema_table_instances_lost	0
Performance_schema_thread_classes_lost	0
Performance_schema_thread_instances_lost	0