MySQL 5.6引入了線程池,可以在高并發場景下提高MySQL服務器的并發處理能力。線程池的主要作用是減小線程切換的開銷,并且在并發訪問較高的情況下可以提高MySQL的響應速度。
線程池主要由以下三部分組成:
/*! MySQL Thread Pool Configuration */ [mysqld] #設置線程池大小 thread_pool_size=12 #設置最大任務數量 thread_pool_max_threads=78 #允許外部應用使用線程池 thread_handling=pool-of-threads
其中,thread_pool_size
代表線程池大小,即同一時間允許池中線程的數量;thread_pool_max_threads
代表最大任務數量,它是線程池允許同時處于活動狀態的線程總數;thread_handling
用于設置線程池的處理方式。
然后我們需要在MySQL中創建一個線程池,步驟如下:
mysql>CREATE TABLE performance_schema.threads_running ( id INT(11) NOT NULL, processlist_id INT(11), processlist_command VARCHAR(64), GROUP_NUM INT(11) NOT NULL, INDEX(id, processlist_id)) ENGINE=MEMORY
最后,我們需要在MySQL的配置文件中配置線程池的參數,如下所示:
[mysqld] # 啟用線程池插件 plugin_load_add = thread_pool.so # 設置線程池大小 thread_pool_size = 4 # 設置最大任務數量 thread_pool_max_threads = 10 # 增加線程池性能信息收集 performance_schema = ON
以上就是關于MySQL 5.6線程池的介紹,線程池的引入為數據庫的高并發場景下的性能提高提供了有力的支持。
下一篇js+css折疊