mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-19313 Add test for thread_pool_info
This commit is contained in:
@@ -32,7 +32,8 @@ perl;
|
|||||||
connect null-audit aria oqgraph sphinx thread-handling
|
connect null-audit aria oqgraph sphinx thread-handling
|
||||||
test-sql-discovery query-cache-info in-predicate-conversion-threshold
|
test-sql-discovery query-cache-info in-predicate-conversion-threshold
|
||||||
query-response-time metadata-lock-info locales unix-socket
|
query-response-time metadata-lock-info locales unix-socket
|
||||||
wsrep file-key-management cracklib-password-check user-variables/;
|
wsrep file-key-management cracklib-password-check user-variables
|
||||||
|
thread-pool-groups thread-pool-queues thread-pool-stats thread-pool-waits/;
|
||||||
|
|
||||||
# And substitute the content some environment variables with their
|
# And substitute the content some environment variables with their
|
||||||
# names:
|
# names:
|
||||||
|
1
mysql-test/main/thread_pool_info.opt
Normal file
1
mysql-test/main/thread_pool_info.opt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--thread-handling=pool-of-threads --loose-thread-pool-mode=generic --loose-thread-pool-groups=ON --loose-thread-pool-queues=ON --thread-pool-stats=ON --thread-pool-waits=ON
|
89
mysql-test/main/thread_pool_info.result
Normal file
89
mysql-test/main/thread_pool_info.result
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
GROUP_ID int(6) NO 0
|
||||||
|
CONNECTIONS int(6) NO 0
|
||||||
|
THREADS int(6) NO 0
|
||||||
|
ACTIVE_THREADS int(6) NO 0
|
||||||
|
STANDBY_THREADS int(6) NO 0
|
||||||
|
QUEUE_LENGTH int(6) NO 0
|
||||||
|
HAS_LISTENER tinyint(1) NO 0
|
||||||
|
IS_STALLED tinyint(1) NO 0
|
||||||
|
SELECT COUNT(*)=@@thread_pool_size FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
COUNT(*)=@@thread_pool_size
|
||||||
|
1
|
||||||
|
SELECT SUM(CONNECTIONS) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SUM(CONNECTIONS)
|
||||||
|
1
|
||||||
|
SELECT SUM(THREADS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SUM(THREADS) > 0
|
||||||
|
1
|
||||||
|
SELECT SUM(ACTIVE_THREADS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SUM(ACTIVE_THREADS) > 0
|
||||||
|
1
|
||||||
|
SELECT SUM(QUEUE_LENGTH) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SUM(QUEUE_LENGTH)
|
||||||
|
0
|
||||||
|
SELECT SUM(IS_STALLED) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SUM(IS_STALLED)
|
||||||
|
0
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_QUEUES;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
GROUP_ID int(6) NO 0
|
||||||
|
POSITION int(6) NO 0
|
||||||
|
PRIORITY int(1) NO 0
|
||||||
|
CONNECTION_ID bigint(19) NO 0
|
||||||
|
QUEUEING_TIME_MICROSECONDS bigint(19) NO 0
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
GROUP_ID int(6) NO 0
|
||||||
|
THREAD_CREATIONS bigint(19) NO 0
|
||||||
|
THREAD_CREATIONS_DUE_TO_STALL bigint(19) NO 0
|
||||||
|
WAKES bigint(19) NO 0
|
||||||
|
WAKES_DUE_TO_STALL bigint(19) NO 0
|
||||||
|
THROTTLES bigint(19) NO 0
|
||||||
|
STALLS bigint(19) NO 0
|
||||||
|
POLLS_BY_LISTENER bigint(19) NO 0
|
||||||
|
POLLS_BY_WORKER bigint(19) NO 0
|
||||||
|
DEQUEUES_BY_LISTENER bigint(19) NO 0
|
||||||
|
DEQUEUES_BY_WORKER bigint(19) NO 0
|
||||||
|
SELECT SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) > 0
|
||||||
|
1
|
||||||
|
SELECT SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) > 0
|
||||||
|
1
|
||||||
|
FLUSH THREAD_POOL_STATS;
|
||||||
|
SELECT SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER)
|
||||||
|
1
|
||||||
|
SELECT SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER)
|
||||||
|
2
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_WAITS;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
REASON varchar(16) NO
|
||||||
|
COUNT bigint(19) NO 0
|
||||||
|
SELECT REASON FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS;
|
||||||
|
REASON
|
||||||
|
UNKNOWN
|
||||||
|
SLEEP
|
||||||
|
DISKIO
|
||||||
|
ROW_LOCK
|
||||||
|
GLOBAL_LOCK
|
||||||
|
META_DATA_LOCK
|
||||||
|
TABLE_LOCK
|
||||||
|
USER_LOCK
|
||||||
|
BINLOG
|
||||||
|
GROUP_COMMIT
|
||||||
|
SYNC
|
||||||
|
NET
|
||||||
|
SELECT COUNT FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS WHERE REASON='Sleep';
|
||||||
|
COUNT
|
||||||
|
0
|
||||||
|
SELECT SLEEP(0.01);
|
||||||
|
SLEEP(0.01)
|
||||||
|
0
|
||||||
|
SELECT COUNT FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS WHERE REASON='Sleep';
|
||||||
|
COUNT
|
||||||
|
1
|
||||||
|
FLUSH THREAD_POOL_WAITS;
|
41
mysql-test/main/thread_pool_info.test
Normal file
41
mysql-test/main/thread_pool_info.test
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
source include/not_embedded.inc;
|
||||||
|
|
||||||
|
let $have_plugin = `SELECT COUNT(*) FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_STATUS='ACTIVE' AND PLUGIN_NAME = 'THREAD_POOL_GROUPS'`;
|
||||||
|
if(!$have_plugin)
|
||||||
|
{
|
||||||
|
--skip Need thread_pool_groups plugin
|
||||||
|
}
|
||||||
|
|
||||||
|
#I_S.THREAD_POOL_GROUPS
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SELECT COUNT(*)=@@thread_pool_size FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SELECT SUM(CONNECTIONS) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SELECT SUM(THREADS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SELECT SUM(ACTIVE_THREADS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SELECT SUM(QUEUE_LENGTH) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
SELECT SUM(IS_STALLED) FROM INFORMATION_SCHEMA.THREAD_POOL_GROUPS;
|
||||||
|
|
||||||
|
# I_S.THREAD_POOL_QUEUES
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_QUEUES;
|
||||||
|
#Todo - figure out how to populate queue with debug test
|
||||||
|
|
||||||
|
# I_S.THREAD_POOL_STATS
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
# The following query does not reliably give results, after FLUSH
|
||||||
|
# so if the test runs with --repeat, it would fail
|
||||||
|
#SELECT SUM(THREAD_CREATIONS) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SELECT SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SELECT SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) > 0 FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
--disable_ps_protocol
|
||||||
|
FLUSH THREAD_POOL_STATS;
|
||||||
|
SELECT SUM(DEQUEUES_BY_LISTENER+DEQUEUES_BY_WORKER) FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
SELECT SUM(POLLS_BY_LISTENER+POLLS_BY_WORKER) FROM INFORMATION_SCHEMA.THREAD_POOL_STATS;
|
||||||
|
--enable_ps_protocol
|
||||||
|
|
||||||
|
#I_S.THREAD_POOL_WAITS
|
||||||
|
DESC INFORMATION_SCHEMA.THREAD_POOL_WAITS;
|
||||||
|
SELECT REASON FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS;
|
||||||
|
SELECT COUNT FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS WHERE REASON='Sleep';
|
||||||
|
SELECT SLEEP(0.01);
|
||||||
|
SELECT COUNT FROM INFORMATION_SCHEMA.THREAD_POOL_WAITS WHERE REASON='Sleep';
|
||||||
|
FLUSH THREAD_POOL_WAITS;
|
Reference in New Issue
Block a user