MySQL 8.4 版本注意事項
注意
MySQL 企業版執行緒池是 MySQL 企業版(一種商業產品)中包含的擴充功能。若要進一步了解商業產品,請參閱 https://mysql.dev.org.tw/products/。
MySQL 企業版包含使用伺服器外掛程式實作的 MySQL 企業版執行緒池。MySQL 伺服器中的預設執行緒處理模型會使用每個用戶端連線一個執行緒來執行陳述式。隨著越來越多的用戶端連線到伺服器並執行陳述式,整體效能會下降。執行緒池外掛程式提供替代的執行緒處理模型,旨在減少額外負荷並提高效能。此外掛程式實作執行緒池,透過有效管理大量用戶端連線的陳述式執行緒來提高伺服器效能。
執行緒池解決了每個連線使用一個執行緒的模型的幾個問題
在高度並行執行的工作負載中,過多的執行緒堆疊會使 CPU 快取幾乎無用。執行緒池會促進執行緒堆疊重複使用,以盡量減少 CPU 快取佔用空間。
若有過多的執行緒並行執行,內容切換額外負荷會很高。這也對作業系統排程器造成挑戰。執行緒池會控制作用中執行緒的數量,使 MySQL 伺服器內的平行處理維持在可以處理的等級,並適用於 MySQL 執行的伺服器主機。
並行執行的交易過多會增加資源競爭。在
InnoDB
中,這會增加持有中央互斥鎖所花費的時間。執行緒池會控制交易何時開始,以確保不會有太多交易並行執行。